Custom Blog Post Page

时间:2012-07-11 作者:JohnMerlino

我在这里找到了创建自定义博客帖子页面的示例:

http://www.wpbeginner.com/wp-themes/how-to-create-a-custom-homepage-in-wordpress/

1) 我在“页面>添加新内容”下创建了一个博客页面2)在“模板”下,我选择“博客”3)注意我创建了一个博客。自定义主题中包含以下内容的php文件:

<?php
/*
Template Name: Blog
*/
?>
<?php
    echo "Hello World";
    $temp = $wp_query;
    $wp_query= null;
    $wp_query = new WP_Query();
    $wp_query->query(\'posts_per_page=5\'.\'&paged=\'.$paged);
    while ($wp_query->have_posts()) : $wp_query->the_post();
?>
4)在“设置>阅读”中的“首页显示”下,我将“帖子页面:”设置为“博客”

现在我在浏览器中查看我的博客页面,它只显示我的所有帖子。但它并没有回应“Hello World”,如果我从博客中删除代码。php,它没有效果!它仍然只是渲染所有帖子。然后我尝试添加一个自定义查询:

<?php
/*
Template Name: Blog
*/
?>
<?php
    global $wpdb;
    $content = $wpdb->get_row(
        $wpdb->prepare(
            "SELECT * FROM $wpdb->posts
             WHERE post_type = %s
             LIMIT 1
            ",
            \'header_post\'
        )
    );
    echo $content->post_content; 
?>
它再次忽略了这一点,只渲染所有post\\u类型为post且post\\u状态为publish的帖子。

显然,我博客中的代码。php被忽略。为什么?

这也是它当前的样子(缺少发布日期,缺少评论):

我对索引进行了更改。我的主题中的php:

<?php
$temp = $wp_query;
$wp_query= null;
$wp_query = new WP_Query();
$wp_query->query(\'posts_per_page=1\'.\'&paged=\'.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post();
?>
仍然没有效果。

2 个回复
SO网友:Milo

当您将页面设置为帖子页面时,它不再像普通页面那样运行,模板层次结构为该页面指定了一组不同的模板。您选择的模板似乎不起作用,因为它没有被加载。

请参见template hierarchy 了解更多信息。您应该命名模板home.php 如果您想在“发布”页面上使用它。

SO网友:Chris_O

正如米洛所说,模板层次结构决定了使用什么模板。如果你想让你的博客帖子出现在博客页面上,你有两个选择。

将主页设置为静态页面,并在“设置阅读”中为帖子页面选择博客。然后需要对索引进行更改。php。你会得到最新的帖子,页面名为blog。

如果这样做,那么添加自定义查询就没有意义了,因为WordPress已经查询过帖子了。如果需要更改此查询,可以将筛选器添加到pre\\u get\\u posts

  • 将主页设置为静态,不要选择博客文章页面,然后像在示例代码中那样创建自定义模板。然而,在您的代码示例中,确实不需要将$wp\\u query设置为$temp。只需重命名新的WP\\u Query$my\\u Query或其他名称。

    要使分页有效,必须设置$paged变量。看见WP_Query Pagination Parameters.

  • 结束

    相关推荐

    Change posts URL

    Possible Duplicate:Permalink: postname EXCEPT for blog 我已经同意将我的网站转换为wordpress,并使用了索引。php作为主页和博客。php(博客帖子的模板),但当我创建任何新帖子时,它会生成类似permalink的页面,例如。。。http://www.domain.com/post-name 而不是http://www.domain.com/blog/post-1你能帮助我如何为所有博客帖子分配/写博客吗。谢谢你的帮助。