修改主题php以在标题中包含某些类别

时间:2016-10-08 作者:5Diraptor

我在WordPress网站上使用免费主题index.php 如下所示:

<?php if (have_posts()) : ?>

    <?php
    $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
    $total_post_count = wp_count_posts();
    $published_post_count = $total_post_count->publish;
    $total_pages = ceil( $published_post_count / $posts_per_page );

    if ( "1" < $paged ) : ?>

        <div class="page-title">

            <h4><?php printf( __(\'Page %s of %s\', \'hitchcock\'), $paged, $wp_query->max_num_pages ); ?></h4>

        </div> <!-- /page-title -->

        <div class="clear"></div>

    <?php endif; ?>

    <div class="posts" id="posts">


        <?php while (have_posts()) : the_post() ; ?>


            <?php get_template_part( \'content\', get_post_format() ); ?>

        <?php endwhile; ?>

        <div class="clear"></div>

    </div> <!-- /posts -->

<?php endif; ?>

<div class="clear"></div>

<?php hitchcock_archive_navigation(); ?>
这显示了我网站上的最新帖子。我想修改这个代码,只显示某个类别的帖子。这是我可以修改或添加代码的东西吗?

1 个回复
最合适的回答,由SO网友:alxndrbauer 整理而成

您可以使用操作pre_get_posts. 它在创建查询对象之后但在运行查询之前被激发。

这是官方纪录片中仅显示一个类别的示例:

在您的functions.php 添加以下内容:

function my_home_category( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( \'cat\', \'123\' );
    }
}

add_action( \'pre_get_posts\', \'my_home_category\' );