Scribu\'s posts-to-posts 是一个很棒且简单的插件,我相信我们可以帮助您实现它。这个basic usage 非常简单。
假设您的自定义帖子类型命名为\'place\'
和\'event\'
, 下面的代码将进入主题的函数中。php文件:
function my_connection_types() {
p2p_register_connection_type( array(
\'name\' => \'events_to_places\',
\'from\' => \'event\',
\'to\' => \'place\',
) );
}
add_action( \'p2p_init\', \'my_connection_types\', 100 );
这将使用于分配关系的元框在自定义后期编辑屏幕中可用。
对于单一地点和事件页面,您可以在WordPress之后的主题中创建自定义模板template hierarchy single-{post_type}.php
, 所以在你的情况下single-event.php
和single-place.php
. 您可以从单个复制这些。php模板。
要列出连接,我们只需要在这些模板中输入一些代码,无论我们想在哪里输出列表。这将进入place模板并输出连接的事件:
<?php
$connected = new WP_Query( array(
\'connected_type\' => \'events_to_places\',
\'connected_items\' => get_queried_object()
) );
echo \'<p>Related events:</p>\';
echo \'<ul>\';
while( $connected->have_posts() ) : $connected->the_post();
echo \'<li>\';
the_title();
echo \'</li>\';
endwhile;
echo \'</ul>\';
wp_reset_postdata();
?>