如何将单个帖子页面显示为主页

时间:2013-03-26 作者:Andrew Stone

我想创建一个有趣的图片网站,但我遇到了一个两难的境地。我想网站显示1后(不是缩略图),但在主页上的完整文章。(最近的帖子)。类似jokideo 谁能告诉我theme 或者提供一些我需要在wp主题文件中编辑的代码。

谢谢:)

3 个回复
SO网友:Brad Dalton

这取决于您使用的主题,因为它们的编码不同。

使用pre_get_posts 或阅读设置和the_content() 而不是循环中的\\u摘录()。

function wpsites_home_page_limit( $query ) {
    if ( $query->is_home() && $query->is_main_query() && !is_admin() ) {
        $query->set( \'posts_per_page\', \'1\' );
    }
}
add_action( \'pre_get_posts\', \'wpsites_home_page_limit\' );
或者,您可以重定向最新的单个帖子以显示在主页上。

SO网友:Unix

在页眉和页脚之间使用以下代码创建页面模板:

<?php
/**
 * Template Name: The Last Post
 * 
 */
get_header();

//The code begins here

$the_query = new WP_Query( \'posts_per_page=1\' ); 

while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
    <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
    <?php the_content();
endwhile;

//The code ends here

get_footer(); ?>
然后创建一个新页面,选择此模板并保存它。现在,在“设置”>“阅读”中,选择选项“静态页面”,并将创建的页面定义为“首页”。

此外,创建一个新的带有博客名称的白色页面(例如),并保存它。在“设置”>“阅读”中,将此页面定义为“帖子页面”。现在我们有了头版的最后一篇文章和博客页面中的所有文章。

But 我们仍然需要排除循环中的最后一篇文章,以避免重复内容。您可能会在文件中找到循环index.phploop.php.

查找此行:

if ( have_posts() ) : while ( have_posts() ) : the_post();
并添加覆盖最后一行的以下行:

$offset = new WP_Query( \'offset=1\' ); 
if ( have_posts() ) : while ($offset -> have_posts() ) : $offset -> the_post();

SO网友:jacquesdeklerk

我建议更改显示主页帖子的循环。类似于

<?php /* Start the Loop */ 
        $i=0; 
        while ( have_posts() ) {

            the_post();

            if($i === 0){
                get_template_part( \'content\', get_post_format() );
                break;
            }
            $i++;
        }
?>
可能有更好、更优雅的解决方案,但这很容易实现。

您可以编辑负责显示首页帖子的文件(在Twenty12主题中为index.php),但我不建议这样做,因为更新时它可能会被覆盖。最好使用自定义主题,可能是子主题,或者在头版使用自定义模板文件

结束

相关推荐

Plotting posts on a graph

我想做的是specific date 我想要number of posts 从某个tag.例如:on14th March 我有一个number 贴有标签的帖子数量“jazz“.我想画出来number 在图表的y轴上(不要担心我如何制作图表,我只想得到数字)和相应的date 在x轴上。因此显示标记的帖子的图表\'Jazz\' 随着时间的推移。我只需要两个变量:来自特定标签的帖子数量和相应的日期。我搜索过,但找不到任何插件。我该怎么办?谢谢:)