サポート » プラグイン » ktai styleでカスタムフィールドの画像をリンクにしたい

  • 解決済 33W5IaV0

    (@33w5iav0)


    wordpress初心者です。

    ktai style バージョン 2.0.5を使用しています。

    カスタムフィールドを使っていますが、
    画像が多すぎて全部が表示されないため、
    画像をすべてテキストリンクにしたいと考えています。

    画像はビジュアルエディタ経由でアップする方法をとっています。

    function.phpに

    <?php
    function ks_image_link_default($image_inline) {
    	return false;
    }
    add_filter('ktai_image_inline_setting', 'ks_image_link_default');
    ?>

    を入れてみたのですが、普通の投稿ページではテキストリンクになるものの、
    カスタムフィールドのページでは適用されないみたいです。

    ご教授のほど、よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター gatespace

    (@gatespace)

    Ktai Styleの使っているテーマのテンプレートで
    カスタムフィールド部分だけ、imgタグで書くんじゃなくて、
    はじめからテキストリンクにしちゃえば良いんじゃないですかね?

    トピック投稿者 33W5IaV0

    (@33w5iav0)

    ありがとうございます。

    現在テンプレートは、

    <?php $post = get_post($post_id); echo get_post_meta($post->ID, '$key,', true); ?>

    というコードになっていますが、どのように変更したらよいでしょうか?

    モデレーター gatespace

    (@gatespace)

    カスタムフィールドにどのような形で画像が登録されているか分かりませんが
    画像のURLだけ抜けば良いんじゃないですかね?
    img タグで入っていれば、phpで加工できる形で取得して 正規表現を使うとか、
    画像idで入っていればWordPressの関数を使って画像URIを取得するとか。

    トピック投稿者 33W5IaV0

    (@33w5iav0)

    imgタグで入っていたので、PHPでaタグに書き換えました。
    下記のコードでテキストリンクに変更できました。

    <?php function imgLink($html){
    	preg_match_all('/<img(.+?)>/', $html, $match);
    	for($i=0;$i<count($match[0]);$i++){
    		preg_match('(http:\/\/[a-z0-9/\-_.]+)',$match[0][$i],$url_match);
    		$url_link = '[<a href="'.$url_match[0].'">画像</a>]';
    		$html= str_replace($match[0][$i],$url_link,$html);
    	}
    	echo $html;
    } ?>
    <?php $post = get_post($post_id); imgLink(get_post_meta($post->ID, $key, true)); ?>

    ありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「ktai styleでカスタムフィールドの画像をリンクにしたい」には新たに返信することはできません。