我想将Underscores用于构建未来的主题。我试图在content-page.php中建立帖子列表,并注意到没有添加特色图片行。我想让我的特色图片显示在标题下等等。
我删除了function.php中的部分注释,确保支持特色图像;
<?php
/**
* Sophie functions and definitions
*
* @package Sophie
*/
/**
* Set the content width based on the theme's design and stylesheet.
*/
if ( ! isset( $content_width ) ) {
$content_width = 640; /* pixels */
}
if ( ! function_exists( 'sophie_setup' ) ) :
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* Note that this function is hooked into the after_setup_theme hook, which
* runs before the init hook. The init hook is too late for some features, such
* as indicating support for post thumbnails.
*/
function sophie_setup() {
/*
* Make theme available for translation.
* Translations can be filed in the /languages/ directory.
* If you're building a theme based on Sophie, use a find and replace
* to change 'sophie' to the name of your theme in all the template files
*/
load_theme_textdomain( 'sophie', get_template_directory() . '/languages' );
// Add default posts and comments RSS feed links to head.
add_theme_support( 'automatic-feed-links' );
/*
* Enable support for Post Thumbnails on posts and pages.
*
* @link http://codex.wordpress.org/Function_Reference/add_theme_support#Post_Thumbnails
*/
add_theme_support( 'post-thumbnails' );
// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => __( 'Primary Menu', 'sophie' ),
) );
// Enable support for Post Formats.
add_theme_support( 'post-formats', array( 'aside', 'image', 'video', 'quote', 'link' ) );
// Setup the WordPress core custom background feature.
add_theme_support( 'custom-background', apply_filters( 'sophie_custom_background_args', array(
'default-color' => 'ffffff',
'default-image' => '',
) ) );
// Enable support for HTML5 markup.
add_theme_support( 'html5', array( 'comment-list', 'search-form', 'comment-form', ) );
}
endif; // sophie_setup
add_action( 'after_setup_theme', 'sophie_setup' );
/**
* Register widgetized area and update sidebar with default widgets.
*/
function sophie_widgets_init() {
register_sidebar( array(
'name' => __( 'Sidebar', 'sophie' ),
'id' => 'sidebar-1',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
) );
}
add_action( 'widgets_init', 'sophie_widgets_init' );
/**
* Enqueue scripts and styles.
*/
function sophie_scripts() {
wp_enqueue_style( 'sophie-style', get_stylesheet_uri() );
wp_enqueue_script( 'sophie-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20120206', true );
wp_enqueue_script( 'sophie-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20130115', true );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
}
add_action( 'wp_enqueue_scripts', 'sophie_scripts' );
/**
* Implement the Custom Header feature.
*/
//require get_template_directory() . '/inc/custom-header.php';
/**
* Custom template tags for this theme.
*/
require get_template_directory() . '/inc/template-tags.php';
/**
* Custom functions that act independently of the theme templates.
*/
require get_template_directory() . '/inc/extras.php';
/**
* Customizer additions.
*/
require get_template_directory() . '/inc/customizer.php';
/**
* Load Jetpack compatibility file.
*/
require get_template_directory() . '/inc/jetpack.php';
然后我在我的content-page.php中添加了一行,这就成了这个;
<?php
/**
* The template used for displaying page content in page.php
*
* @package Sophie
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<h1 class="entry-title"><?php the_title(); ?></h1>
</header><!-- .entry-header -->
<?php the_post_thumbnail(); ?>
<div class="entry-content">
<?php the_content(); ?>
<?php
wp_link_pages( array(
'before' => '<div class="page-links">' . __( 'Pages:', 'sophie' ),
'after' => '</div>',
) );
?>
</div><!-- .entry-content -->
<?php edit_post_link( __( 'Edit', 'sophie' ), '<footer class="entry-meta"><span class="edit-link">', '</span></footer>' ); ?>
</article><!-- #post-## -->
现在我有'一些'wordpress知识,这对我来说过去总是有用。为什么现在不出现?当然,在帖子页面上传了一个精选图片,当我使用已经支持它们的另一个主题时,会出现这个特色图片。
我忘记了一步吗?
这是在我的page.php;
get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', 'page' ); ?>
<?php
// If comments are open or we have at least one comment, load up the comment template
if ( comments_open() || '0' != get_comments_number() ) :
comments_template();
endif;
?>
<?php endwhile; // end of the loop. ?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
答案 0 :(得分:0)
在the_post_thumbnail()的function reference page上,我发现了以下内容:
此标记必须在The Loop中使用。使用get_the_post_thumbnail($ id, $ size,$ attr)而不是为任何帖子获取精选图片。
由于您的content-page.php中没有循环,因此您必须使用建议的替代get_the_post_thumbnail()
。
此功能的所有参数都是可选的,所以我猜它会开箱即用,但如果没有,你可以尝试
get_the_post_thumbnail(get_queried_object_id());
请参阅this stack-exchange答案以供参考。
编辑:
如果您想在循环中放置content-page.php,请在第一篇文章标记之前使用此代码:
<?php get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php /* The loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
这个代码紧跟在文章closign标签之后:
<?php comments_template(); ?>
<?php endwhile; ?>
</div><!-- #content -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
这取自二十三页.php。
另一件事: 您确定您的文件必须命名为content-page.php而不仅仅是page.php吗?
答案 1 :(得分:0)
添加
<?php the_post_thumbnail(); ?>
在循环中。
像这样:
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php the_post_thumbnail(); ?>
<?php
/*
* Include the Post-Format-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/
get_template_part( 'template-parts/content', get_post_format() );
?>
<?php endwhile; ?>