主页上的3 x 3网格帖子

时间:2014-06-19 作者:Amanda

我使用Wordpress作为CMS而不是博客,我想创建一个主题,在主页上使用9个特定的帖子。

我不希望这些帖子出现在其他列表中。我不希望其他帖子意外地覆盖这些帖子。我粗略的感觉是,我把这9篇文章放在一个类别中(front) 然后给每个人一个位置标签(top center / middle left / 等)并构建static front page 围绕这一点。

我走对了吗?

1 个回复
SO网友:Pieter Goosen

实现这一点的最简单方法是使用custom post type. 这样,这些帖子就不会显示为自定义帖子类型,默认情况下会从主查询中排除。

然后,您可以创建页面并使用创建自定义查询WP_Query 把这9根柱子拉进去

1. CREATE CUSTOM POST TYPE

add_action( \'init\', \'create_post_type\' );
function create_post_type() {
    register_post_type( \'acme_product\',
        array(
            \'labels\' => array(
                \'name\' => __( \'Products\' ),
                \'singular_name\' => __( \'Product\' )
            ),
        \'public\' => true,
        \'has_archive\' => true,
        )
    );
} 

2. CREATE YOUR CUSTOM QUERY

<?php

// The Query
$args = array(
  \'post_type\' => \'acme_product\',
  \'posts_per_page\' => 9
);
$the_query = new WP_Query( $args );

// The Loop
if ( $the_query->have_posts() ) {
    echo \'<ul>\';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        echo \'<li>\' . get_the_title() . \'</li>\';
    }
    echo \'</ul>\';
} else {
    // no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
你所要做的就是设置页面模板,将其设置为首页,然后添加9篇文章

我希望这有帮助

结束

相关推荐

如何从管理插件检查当前静态页面是否为FrontPage

我将静态页面设置为首页。我需要知道用户当前是否在我的自定义插件主页上。功能is_home() 和is_front_page() 不起作用,因为主页是静态页面。我可以获取此页面的id:$frontpage_id = get_option(\'page_on_front\'); 但如何从管理插件中获取当前页面的id呢?(然后我将能够比较这些ID并检测当前页面是否为主页!)2 vancoderCode:1) 将任何静态页面设置为frontpage。2) 创建虚拟插件3) 插件代码:$d = is_fr