###前提・実現したいこと
目的:WordPress popural postsでサムネイルとタイトルに付くリンクを削除し、<li><a> </a></li>このようにしたい。
手段:WordPress popural postsのフィルターフックを使用しコードの書き換えをしたい
###発生している問題・エラーメッセージ
出力すると画像ではなく画像のURL(http://aaa.bbb.ne.jp/ccc/testimg/01.jpg)が表示されてしまう
現在カスタムフィールド設定項目では画像の部分のフィールドタイプがテキストになっており、画像オブジェクトに変更すると表示されません。今のままでは画像とタイトル両方にリンクが付いていて煩わしいのでフィルターフックを使用し<a>で内包しようと、このコード入れた結果画像のURLだけが表示されました。
###該当のソースコード
//functions.php内 function my_custom_single_popular_post( $post_html, $p, $instance ){ $custom_thumb = get_post_meta($p->id, '_wpp_thumbnail', true); $output = '<li><a href="' . get_the_permalink($p->id) . '" class="my-custom-title-class" title="' . $p->title . '">' . $custom_thumb . $p->title . '</a></li>'; return $output; } add_filter( 'wpp_post', 'my_custom_single_popular_post', 10, 3 );
###試したこと
$custom_thumb = get_post_meta($p->id, '_wpp_thumbnail', true);
この部分を
$custom_thumb = wp_get_attachment_url(get_post_meta($post->ID,"thumbnail",true);
に変更してみたり
$custom_thumb = get_post_meta($p->id, '_wpp_thumbnail', true); $img = wp_get_attachment_image_src($icustom_thumb, 'thumbnail'); echo $img[0];
としてみたりいろいろ調べてて試しているのですが全く表示されずに困っています。画像のURLが取得できるということは参照する場所はあっているのだと思うのですが、なぜ画像オブジェクトとして表示できないのかわかりません…
カスタムフィールドの設定を見てみると画像のフィールドタイプが「テキスト」になっていたので「画像オブジェクト」に変更すると画像が取得されずaltのみになってしまいました。現在は「テキスト」で画像を表示させていますがなぜ「テキスト」で画像が表示されているのかもわかっていません…当方PHPにあまり詳しくなく記事から拾ったコードをコピペし、変更しているのですがうまく行きません。どうかご教示お願い致します。
###補足情報(言語/FW/ツール等のバージョンなど)
WordPress バージョン4.5.3
Advised custom fields バージョン 4.4.7
WordPress Popular Posts バージョン 3.3.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/02 16:42 編集
2016/07/02 16:48
2016/07/02 17:40 編集
2016/07/02 17:33
2016/07/02 17:47
2016/07/02 17:51
2016/07/02 18:13
2016/07/02 18:46
2016/07/02 18:49