如何将帖子与页面关联?
试图确定实现以下目标的最佳架构/策略。。。
将WordPress用作CMS,每页8页,每页都有子页,每页也可以有帖子
我可以设置8个类别,每个类别匹配一个页面,然后在页面下列出该类别中的帖子,但这似乎很笨拙。有更好的方法吗?
示例:
奖项页面有子页面年度奖项,子页面月度奖项有子页面2012年3月后的奖项,应显示在奖项页面上;月度奖励页面
提前谢谢。
如何将帖子与页面关联?
试图确定实现以下目标的最佳架构/策略。。。
将WordPress用作CMS,每页8页,每页都有子页,每页也可以有帖子
我可以设置8个类别,每个类别匹配一个页面,然后在页面下列出该类别中的帖子,但这似乎很笨拙。有更好的方法吗?
示例:
奖项页面有子页面年度奖项,子页面月度奖项有子页面2012年3月后的奖项,应显示在奖项页面上;月度奖励页面
提前谢谢。
@scribu有一个很棒的插件叫做Posts 2 Posts. 它允许您手动将不同的职位类型(或相同的职位类型)相互关联。我经常将其用于更大的CMS类型项目,甚至pluginized a common pattern 我发现自己在几个网站上写作。
下面是一个示例,可以根据您的需要使用Posts 2 Posts
<?php
WPSE45561_Pages_Posts::init();
class WPSE45561_Pages_Posts
{
private static $ins = null;
public static function init()
{
add_action(\'plugins_loaded\', array(__CLASS__, \'instance\'));
}
public static function instance()
{
is_null(self::$ins) && self::$ins = new self;
return self::$ins;
}
protected function __construct()
{
add_action(\'p2p_init\', array($this, \'connections\'));
}
public function connections()
{
p2p_register_connection_type(array(
\'name\' => \'page_to_posts\',
\'from\' => \'page\',
\'to\' => \'post\',
\'admin_box\' => array(
\'show\' => \'from\', // only show on pages
\'context\' => \'advanced\', // put admin box in main col, instead of side
),
));
}
}
在前端连接帖子也很简单。循环中的某个地方:<?php
$connected = p2p_type(\'pages_to_posts\')->get_connected($post->ID);
if($connected->have_posts())
{
while($connected->have_posts())
{
$connected->the_post();
// normal loop stuff here
}
}
如果您不想使用该插件,有几个选项。将类别与给定页面关联,从该类别中拉入帖子。您可以将此设置为静态,也可以添加一个元框我可以为您提供上述两个选项的一些示例代码,但我强烈建议您查看帖子2。
如果我理解正确,您将需要类似于WP\\u Query的东西来迭代不同的类别、页面等。使用以下方法:
function myAwardsPage() {
// The Query
$the_query = new WP_Query( \'category_name=awards\' );
// get Params from: http://codex.wordpress.org/Class_Reference/WP_Query#Parameters
// if multiple use array(\'\',\'\')
// The Loop
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<?php the_title(); ?>
<?php the_content(); ?>
<?php endwhile;
// Reset Post Data
wp_reset_postdata();
}
并将其添加到页面模板中。php文件,然后无论您想在何处显示该查询put: <?php myAwardsPage(); ?>
我有一个顶级页面,有很多子页面当用户访问顶级页面时,他们当前会看到标题/缩略图/摘录all 子页面的如何分页子页面的显示,以便only 每次显示3,使用户可以通过典型的“上一页1、2、3、4、5下一页>”分页菜单进行导航?任何帮助都将不胜感激。谢谢