質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

1回答

4816閲覧

アイキャッチ画像が固定ページで表示されません

aaaaaachannel

総合スコア37

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2018/02/26 05:39

LIONのテーマを使って、アイキャッチ画像を設定しました。
しかし、投稿記事のページでは表示されるのに、投稿一覧や固定ページでは表示されません。
表示オプションに関してはチェック済みだと思います。
何がおかしいのでしょうか。
function.phpを見てみましたが、いまいちわかりません。
どなたかご教授よろしくお願いします。

php

1<?php 2 3 4 5////////////////////////////////////////////////// 6//投稿ページ各種設定画面 7////////////////////////////////////////////////// 8function fit_post_cutomizer( $wp_customize ) { 9 10 // セクション 11 $wp_customize->add_section( 'fit_post_section', array( 12 'title' => '投稿ページ設定 [LION用]', 13 'priority' => 1, 14 )); 15 16 // アイキャッチ画像の表示/非表示 セッティング 17 $wp_customize->add_setting( 'fit_post_eyecatch', array( 18 'default' => 'value1', 19 'type' => 'option', 20 'sanitize_callback' => 'fit_sanitize_select', 21 )); 22 // アイキャッチ画像の表示/非表示 コントロール 23 $wp_customize->add_control( 'fit_post_eyecatch', array( 24 'section' => 'fit_post_section', 25 'settings' => 'fit_post_eyecatch', 26 'label' => '■アイキャッチ画像の表示/非表示', 27 'description' => '投稿・アーカイブページにアイキャッチ画像を表示するか選択', 28 'type' => 'select', 29 'choices' => array( 30 'value1' => '表示する(default)', 31 'value2' => '表示しない', 32 ), 33 )); 34 35 36 37 38 39 40 41 42 43 if (is_singular()){ 44 if (has_post_thumbnail()){//投稿にサムネイルがある場合 45 $image_id = get_post_thumbnail_id(); 46 $image = wp_get_attachment_image_src( $image_id, 'icatch'); 47 echo '<meta property="og:image" content="'.$image[0].'" />'."\n"; 48 }elseif(get_fit_image_ogp()){//投稿にサムネイルが無く、OGP用画像がある場合 49 echo '<meta property="og:image" content="'.get_fit_image_ogp().'" />'."\n"; 50 }else{//何も無い場合 51 echo '<meta property="og:image" content="'.get_template_directory_uri().'/img/img_no.gif" />'."\n"; 52 } 53 } 54 else { 55 if(get_fit_image_ogp()){ 56 echo '<meta property="og:image" content="'.get_fit_image_ogp().'" />'."\n"; 57 }elseif(get_fit_image_main()){ 58 echo '<meta property="og:image" content="'.get_fit_image_main().'" />'."\n"; 59 }else{ 60 echo '<meta property="og:image" content="'.get_template_directory_uri().'/img/img_no.gif" />'."\n"; 61 } 62 } 63 64 if ( get_option('fit_social_TwitterCard')) { 65 echo '<meta name="twitter:card" content="'.get_option('fit_social_TwitterCard').'" />'."\n"; 66 }else{ 67 echo '<meta name="twitter:card" content="summary" />'."\n"; 68 } 69 70 if ( get_option('fit_social_TwitterId')) { 71 echo '<meta name="twitter:site" content="@'.get_option('fit_social_TwitterId').'" />'."\n"; 72 } 73 74 if ( get_option('fit_social_FBAppId')) { 75 echo '<meta property="fb:app_id" content="'.get_option('fit_social_FBAppId').'" />'."\n"; 76 } 77 78 if ( get_option('fit_social_FBAdmins')) { 79 echo '<meta property="fb:admins" content="'.get_option('fit_social_FBAdmins').'" />'."\n"; 80 } 81} 82 83 84 85 86 87 88////////////////////////////////////////////////// 89//管理画面の投稿一覧にPV数とサムネイル画像を表示 90////////////////////////////////////////////////// 91function manage_posts_columns($columns) { 92 $columns['post_views_count'] = '閲覧数'; 93 $columns['thumbnail'] = 'サムネイル'; 94 return $columns; 95} 96 97function add_column($column_name, $post_id) { 98 //View数呼び出し 99 if ( $column_name == 'post_views_count' ) { 100 $stitle = get_post_meta($post_id, 'post_views_count', true); 101 } 102 //サムネイル呼び出し 103 if ( $column_name == 'thumbnail') { 104 $thumb = get_the_post_thumbnail($post_id, array(100,100), 'thumbnail'); 105 } 106 //表示する 107 if ( isset($stitle) && $stitle ) { 108 echo esc_attr($stitle); 109 } 110 else if ( isset($thumb) && $thumb ) { 111 echo $thumb; 112 } 113 114} 115add_filter( 'manage_posts_columns', 'manage_posts_columns' ); 116add_action( 'manage_posts_custom_column', 'add_column', 10, 2 ); 117 118 119//閲覧数でソートできるようにする 120function column_orderby_custom( $vars ) { 121 if ( isset( $vars['orderby'] ) && 'post_views_count' == $vars['orderby'] ) { 122 $vars = array_merge( $vars, array( 123 'meta_key' => 'post_views_count', 124 'orderby' => 'meta_value_num' 125 )); 126 } 127 return $vars; 128} 129add_filter( 'request', 'column_orderby_custom' ); 130 131function posts_register_sortable( $sortable_column ) { 132 $sortable_column['post_views_count'] = 'post_views_count'; 133 return $sortable_column; 134} 135add_filter( 'manage_edit-post_sortable_columns', 'posts_register_sortable' ); 136 137 138 139 140////////////////////////////////////////////////// 141//管理画面の文言を変更 142////////////////////////////////////////////////// 143function fit_admin_style() { 144 $cautionColor = '#0073aa'; 145 echo '<style> 146 .options-media-php .title + p::after{ 147 content: "※()括弧内の数字はLION BLOG Themeの推薦サイズです。"; 148 display: block; 149 color: '.$cautionColor.'; 150 } 151 .options-media-php label[for="thumbnail_size_w"]::after{ 152 content: "(160px)"; 153 color: '.$cautionColor.'; 154 } 155 .options-media-php label[for="thumbnail_size_h"]::after{ 156 content: "(160px)"; 157 color: '.$cautionColor.'; 158 } 159 .options-media-php label[for="medium_size_w"]::after{ 160 content: "(300px)"; 161 color: '.$cautionColor.'; 162 } 163 .options-media-php label[for="medium_size_h"]::after{ 164 content: "(300px)"; 165 color: '.$cautionColor.'; 166 } 167 .post-php a#set-post-thumbnail::after{ 168 display: block; 169 content: "※[縦500 × 横890px]以上の画像"; 170 color: '.$cautionColor.'; 171 } 172 .edit-tags-php #tag-description + p::after{ 173 display: block; 174 content: "※LION BLOG Themeでは、Meta Descriptionに反映されます。"; 175 color: '.$cautionColor.'; 176 } 177 </style>'."\n"; 178} 179add_action('admin_print_styles', 'fit_admin_style'); 180 181 182 183 184////////////////////////////////////////////////// 185//投稿エディタにクイックタグボタン追加 186////////////////////////////////////////////////// 187if (!function_exists( 'add_quicktags_to_text_editor' ) ) { 188 function add_quicktags_to_text_editor() { 189 //スクリプトキューにquicktagsが保存されているかチェック 190 if (wp_script_is('quicktags')){?> 191 <script> 192 QTags.addButton('qt-p','p','<p>','</p>'); 193 QTags.addButton('qt-h2','h2','<h2>','</h2>'); 194 QTags.addButton('qt-h3','h3','<h3>','</h3>'); 195 QTags.addButton('qt-h4','h4','<h4>','</h4>'); 196 QTags.addButton('qt-h5','h5','<h5>','</h5>'); 197 QTags.addButton('qt-hr','hr','<hr>'); 198 QTags.addButton('qt-br','br','<br>'); 199 QTags.addButton('qt-pre','pre','<pre>','</pre>'); 200 QTags.addButton('qt-borderBox','枠BOX','<div class="borderBox">','</div>'); 201 QTags.addButton('qt-bgBox','背景BOX','<div class="bgBox">','</div>'); 202 QTags.addButton('qt-asterisk','注釈','<span class="asterisk">','</span>'); 203 204 QTags.addButton('qt-outline','目次','[outline]'); 205 </script> 206 <?php 207 } 208 } 209} 210add_action( 'admin_print_footer_scripts', 'add_quicktags_to_text_editor' ); 211 212 213 214 215 216 217 218 219 220////////////////////////////////////////////////// 221//デフォルトコメントフォーム文法エラー修正 222////////////////////////////////////////////////// 223function custom_comment_form($args) { 224 $args['comment_field'] = '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label><textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required="required"></textarea></p>'; 225 return $args; 226} 227add_filter('comment_form_defaults', 'custom_comment_form'); 228 229 230 231 232 233 234////////////////////////////////////////////////// 235//アイキャッチ画像設定 236////////////////////////////////////////////////// 237if ( get_option('fit_post_eyecatch') != 'value2' ) { 238 add_theme_support('post-thumbnails'); 239} 240 241 242 243 244////////////////////////////////////////////////// 245//サムネイル画像追加 246////////////////////////////////////////////////// 247add_image_size('icatch', 890, 500, true); 248 249 250 251 252 253 254 255 256 257 258 259////////////////////////////////////////////////// 260//人気記事一覧ウィジェットアイテム 261////////////////////////////////////////////////// 262class Popular_Posts extends WP_Widget { 263 function __construct() { 264 $widget_option = array('description' => 'PV数の多い順で記事を表示'); 265 parent::__construct( false, $name = '[LION]人気記事', $widget_option ); 266 } 267 268 // 設定フォームを出力するメソッド 269 function form($instance) { 270 ?> 271 <p> 272 <p> 273 <label for="<?php echo $this->get_field_id('title'); ?>">タイトル:</label> 274 <input type="text" class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" value="<?php echo esc_attr( @$instance['title'] ); ?>"> 275 </p> 276 277 <p> 278 <label for="<?php echo $this->get_field_id('number'); ?>">表示する投稿数:</label> 279 <input class="tiny-text" type="number" id="<?php echo $this->get_field_id('number'); ?>" name="<?php echo $this->get_field_name('number'); ?>" value="<?php echo esc_attr( @$instance['number'] ); ?>" step="1" min="1" max="10" size="3"> 280 281 </p> 282 </p> 283 <?php 284 } 285 286

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

テーマ全体を見てないので憶測ですが

if ( get_option('fit_post_eyecatch') != 'value2' ) { add_theme_support('post-thumbnails'); }

fit_post_eyecatchの値がvalue2に一致するからサムネイルが表示されない…ということは無いですか?

とりあえず暫定的に

PHP

1// if ( get_option('fit_post_eyecatch') != 'value2' ) { 2 add_theme_support('post-thumbnails'); 3// }

コメントアウトもしくは削除して試してみてください。

関数リファレンス/add theme support - WordPress Codex 日本語版

投稿2018/02/26 09:47

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aaaaaachannel

2018/03/01 04:15

動きました。長々と載せたコードを見ていただいて、本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問