こんにちは、今wpの練習をしていて自作のテーマを作っています。
昨日までは、投稿からサムネイルを選択することができたのですが、突如サンネイル挿入項目が消えてしまいました。
add_theme_supportと編集画面を見ましたが、これと言って何が原因か分からずじまいでした。
何かアドバイスいただけたら嬉しいです。
php
1<?php 2add_action("init", function(){ 3 add_theme_support("title-tag"); 4 add_theme_support("post-thumbnails"); 5 add_theme_support("widgets"); 6 add_theme_support("automatic-feed-links"); 7 add_theme_support("custom-background"); 8 add_theme_support("custom-header"); 9 add_theme_support("html5", array('comment-list', 'comment-form', 'search-form', 'gallery', 'caption')); 10 11 // メニューサポート 12 register_nav_menus([ 13 "global_nav" => "グローバルナビゲーション" 14 ]); 15}); 16 17// サムネイル付き投稿ウィジェット 18function my_theme_widgets_init() { 19 register_widget('News_Widget'); 20 register_sidebar( array( 21 'name' => 'Main Sidebar', 22 'id' => 'main-sidebar', 23 ) ); 24 register_sidebar( array( 25 'name' => 'second Sidebar', 26 'id' => 'second-sidebar', 27 ) ); 28 } 29 add_action( 'widgets_init', 'my_theme_widgets_init' ); 30 31 class News_Widget extends WP_Widget { 32 function __construct() { 33 parent::__construct( 34 'news', 35 'サムネイル付き新着投稿', 36 array( 37 'description' => '新着投稿を表示します' 38 ) 39 ); 40 } 41 function widget($args, $instance) { 42 $widgetName = $instance['title']; 43 $noImagePath = 'common/img/no-image.jpg'; 44 query_posts('posts_per_page=' . $instance['limit']); 45 echo $args['before_widget']; 46 if(have_posts()) { 47 if($widgetName) { 48 echo $args['before_title'] . $widgetName . $args['after_title']; 49 } 50 echo '<ul>'; 51 while(have_posts()) { 52 the_post(); 53 $link = get_permalink(); 54 $thumbnail = get_the_post_thumbnail(); 55 $date = get_the_date('Y.m.d'); 56 echo '<li class="postList">'; 57 echo '<a href="' . $link . '" class="clr">'; 58 if(has_post_thumbnail()) { 59 echo '<div class="postThumbnail">'. $thumbnail . '</div>'; 60 } else { 61 echo '<div class="postThumbnail"><img src="' . get_template_directory_uri() . '/' . $noImagePath . '" alt="No Image"></div>'; 62 } 63 echo '<div class="postData">'; 64 echo '<p class="postDate">' . $date . '</p>'; 65 echo '<p class="postTitle">' . wp_trim_words(get_the_title(), 30, '....') . '</p>'; 66 echo '</div>'; 67 echo '</a>'; 68 echo '</li>'; 69 } 70 echo '</ul>'; 71 } else { 72 echo $args['before_title'] . $widgetName . $args['after_title']; 73 } 74 echo $args['after_widget']; 75 } 76 function form($instance) { 77 echo '<p>'; 78 echo '<label for="' . $this -> get_field_id('title') . '">タイトル:</label>'; 79 echo '<input class="widefat" id="' . $this -> get_field_id('title') . '" name="' . $this-> get_field_name ('title') . '" type="text" value="' . esc_attr($instance['title']) . '">'; 80 echo '</p>'; 81 echo '<p>'; 82 echo '<label for="' . $this -> get_field_id('limit') . '">' . _e('表示する投稿数:') . '</label>'; 83 echo '<input class="widefat" id="' . $this -> get_field_id('limit') . '" name="' . $this-> get_field_name ('limit') . '" type="text" value="' . esc_attr($instance['limit']) . '">'; 84 echo '</p>'; 85 } 86 function update($new_instance, $old_instance) { 87 $instance = $old_instance; 88 $instance['title'] = strip_tags($new_instance['title']); 89 $instance['limit'] = is_numeric($new_instance['limit']) ? $new_instance['limit'] : 5; 90 return $instance; 91 } 92 }; 93 94 95 96
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。