使用自定义帖子类型创建自定义 wordpress 主题:
我添加了自定义帖子类型(通过插件自定义帖子 UI)和自定义字段(通过高级自定义字段)。自定义帖子正确显示在创建的新模板页面 (single-custom.php) 中。因此,各个自定义帖子完全按照我的意愿显示。
然而,问题是在主页上只显示标题。
我做了什么:
1) 我添加了以下代码,以允许通过 functions.php 将新的帖子类型拉入主页/博客提要的提要中:
add_filter( 'pre_get_posts', 'my_get_posts' );
function my_get_posts( $query ) {
if ( ( is_home() && $query->is_main_query() ) || is_feed() )
$query->set( 'post_type', array( 'post', 'custom' ) );
return $query;
感谢贾斯汀·塔德洛克(Justin Tadlock )
2) 我创建了一个自定义内容页面 content-custom.php 并修改了索引循环以调用该模板:
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php
get_template_part( 'content', 'custom', get_post_format() );
?>
<?php endwhile; ?>
我的主页仍然只显示我的自定义帖子的标题,而不是我希望的全部内容。问题与 content-custom.php 中 the_content 的调用有关,但我找不到问题,因为我仍在熟悉 wordpress。content-custom.php 的相关代码如下:
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
//The title below is displayed correctly
<h1 class="entry-title"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h1>
</header><!-- .entry-header -->
// The problem begins below. The entry-content div is created but is empty and is not pulling any content from the custom post through the_content call.
<div class="entry-content">
<?php the_content(); ?>
</div><!-- .entry-content -->