如何让博客帖子出现在CMS中?

时间:2012-11-17 作者:Head of Catering

我正在使用WordPress CMS网站,该网站没有博客。我希望该网站继续发挥它的功能,大部分是静态页面,包括主页。我想要一个名为“博客”的页面作为博客。

现在我被要求添加一个博客,而我所期望的非常简单的事情并没有变成那样。

这就是我所尝试的:

添加了一个名为“博客”的页面并将其发布

  • 在“设置>>阅读”下,将帖子设置为博客。(选择静态页面,首页设置为“主页”。)当我查看博客页面时,会显示两条消息,而不是两条博客帖子:

    Please go to Admin Panel > Settings > Reading and setup "Front page displays" option
    
    另一个可能相关的细节是只有两个页面模板:默认模板和归档。如果我选择归档作为博客的模板,我会得到一个归档菜单,它链接到我设置的2篇文章。

    我也应该有一个博客模板吗?如何添加一个?我还应该看什么?

  • 2 个回复
    最合适的回答,由SO网友:Head of Catering 整理而成

    波戈金的回答帮助我找到了正确的方向,但并没有解决问题。这就是我最后要做的。

    我在我们正在使用的自定义主题中创建了一个新模板,并编辑了博客页面以使用新模板。

    .../html/wp-content/themes/[custom theme name]/blogposts.php
    
    我向新模板中添加了循环以及带有几个参数的查询。我确信我会对模板进行实质性的修改,但目前它仍然有效。所有博客帖子都按我的要求显示。

    这是我的代码:

    <?php
    /*
    Template Name: Blog Template
    */
    ?>
    <?php get_header(); ?>
    
        <?php  
        $args = array(
                       \'post_type\' => \'post\',
                       \'posts_per_page\' => 10,
                       \'paged\' => ( get_query_var(\'paged\') ? get_query_var(\'paged\') : 1),
                       );
    
        query_posts($args);  
        if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>  
        <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 
        <h2><a href="<?php the_permalink(); ?>"
            title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
         </h2>
        <small>By <?php the_author_posts_link() ?>  | Published: <?php the_date() ?></small>
        <div class="thecontent">
        <br />
        <?php the_content(); ?>
        </div>
        <br />
        <hr>
        <br />
        <?php endwhile; else: ?>  
        // Our Blog will be online soon. Stay tuned... //
        <?php endif; ?> 
        <div class="navigation">
          <div class="alignleft"><?php previous_posts_link(\'&laquo; Previous\') ?></div>
          <div class="alignright"><?php next_posts_link(\'More &raquo;\') ?></div>
        </div>
        <?php
    wp_reset_query();  // Restore global post data
    ?>
        <?php get_sidebar(); ?>
    
    <?php get_footer(); ?>
    

    SO网友:Mateusz Hajdziony

    所以,一切似乎都设置正确。步骤2中的设置是需要完成的所有操作。如果不了解主题模板文件的结构,我将无法帮助您。

    当您在步骤2中应用设置时,通常的工作方式是WordPress查找名为front page的模板。php,如果它不存在,则WordPress使用索引。php。

    现在,其中一个模板必须使用常规的post循环,即

    if ( have_posts() ) :
    while ( have_posts() ) :
    the_post()
    我假设这个循环不存在于索引中。php或首页。php文件,这就是您的帖子没有显示的原因。

    结束

    相关推荐

    List latest posts in WP-Admin

    我运行了一个多作者网站,并在wp admin中创建了一个插件,作者可以在其中相互连接和协作。为了增强它,我想显示一个最新帖子的列表,该列表应如下所示:如图所示,该列表应包含最新的10篇帖子,其中包含用户名、链接的帖子标题以及发布时间(发布时间或发布时间)。用于此的HTML应为:<table class=\"widefat\"> <thead><tr><th scope=\"col\">User</th>&