Linking Two Post Types

时间:2011-05-03 作者:John

并提前感谢您的帮助。

我已经做了一些搜索,关于“posts 2 posts”插件,这个问题已经被回答了好几次,但是关于这个插件的文档非常“以编码者为中心”--我能够轻松地弄脏我的手,但我确实需要比那里提供的更好的一步一步的文档。:)

这是我需要的。我正在使用gPress 使用自定义帖子类型生成“位置”。这是惊人的好工作。我需要做的是能够在一个地方添加“事件”。我可以使用自定义帖子类型来捕获所有事件详细信息,但我希望能够将事件附加到特定的位置,反之亦然。如果有人正在查看事件帖子,那么还有一种简单的方法可以同时提取与事件相关的地点信息。

欢迎您提出任何建议!

1 个回复
最合适的回答,由SO网友:Milo 整理而成

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.phpsingle-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();
?>

结束

相关推荐

在调用Query_Posts()之后使用wp_list_ages()

可能我只是做错了,所以请随时告诉我您将如何解决此问题。我有一个主要基于页面的网站,但也有一些“页面”,其中我的内容来自自定义query_posts() 呼叫在所有这些页面中,我希望能够使用wp_list_pages() 生成子导航。当我在一个普通页面上时,这很好用,但当我在一个query_posts() 内容,这根本不起作用。这里有一个我所说的“页面”的例子。这是一个主题文件,名为page-media.php:<?php get_header(); ?> <?php q