如何使用Scribu的WordPress插件发布2个帖子?

时间:2011-03-13 作者:Dwayne Charrington

我有一个Wordpress网站,它非常依赖人际关系。这是一个唱片公司网站,艺术家可以在该网站上进行巡演、评论、专辑发行和存储物品。

我找到了插件Posts to Posts by Scribu 这似乎是我想要的,但我不知道如何正确使用它。Scribu发布了示例代码,但由于某些原因,我无法理解它。

下面是一个我想用我正在工作的网站做什么的例子。

Tours Page.

旅游项目具有标题和名为“tickets\\u link”的自定义元字段

加载tours页面后,所有tours都将显示其指定的艺术家,如果有tickets链接,则也会显示该链接。

如果这里有人能理解Scribu网站上发布的插件代码,然后向我解释,我将不胜感激。

<小时>Here is my code from the functions.php file registering the connections:

    function my_connection_types() {
    if ( !function_exists(\'p2p_register_connection_type\') )
        return;

    p2p_register_connection_type( \'tours\', \'artists\' );
    p2p_register_connection_type( \'homepage_carousel\', \'artists\' );
    p2p_register_connection_type( \'duka\', \'artists\' );
    p2p_register_connection_type( \'products_carousel\', \'artists\' );
}
  add_action(\'init\', \'my_connection_types\', 100);
<小时>Pseudo code to show what I want to do in my code:

使用循环获取my tours custom post archive中的所有tours,该循环将所有tours添加到站点


Further update along with code I am using and print_r values.

我在查询的print\\r内容中显示了相关的艺术家,而之前我没有显示。当我进行print\\r时,会显示以下内容,但无法访问数据。

[connected_connected] => Array ( [0] => stdClass Object ( [ID] => 245 [post_author] => 1 [post_date] => 2011-03-10 13:55:23 [post_date_gmt] => 2011-03-10 13:55:23 [post_content] => [post_title] => 1200 Techniques [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => 1200-techniques [to_ping] => [pinged] => [post_modified] => 2011-03-10 13:55:23 [post_modified_gmt] => 2011-03-10 13:55:23 [post_content_filtered] => [post_parent] => 0 [guid] => http://localhost/testdev/?post_type=artists&p=245 [menu_order] => 0 [post_type] => artists [post_mime_type] => [comment_count] => 0 [p2p_id] => 2 [p2p_from] => 215 [p2p_to] => 245
The code I am using to relate artists with tours is the following:

$connected = new WP_Query(array(
    \'post_type\' => \'tours\',
    \'nopaging\' => true,
    \'each_connected\' => array(
        \'post_type\' => \'artists\',
        \'nopaging\'  => true,
    ),
    \'suppress_filters\' => false
));

while( $connected->have_posts() ): $connected->the_post();
    the_title();
    echo "<br />";
endwhile;   

print_r($connected); // Print_r for showing contents of post object.
<小时>Update for Scribu:

$args = array
(
    \'post_type\'        => \'tours\',
    \'nopaging\'         => true,
    \'suppress_filters\' => false
);

$connected = new WP_Query($args);

while($connected->have_posts()): $connected->the_post();

    the_title();
    echo "<br />";

    foreach ($connected->connected AS $tour_item)
    {
        echo get_the_title($tour_item->ID);
        echo "<br />";
    }

endwhile;

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

好的,这样的想法是你有一个外环,它显示旅行。

然后有一个内部循环,显示每个艺术家。

循环的工作方式是填充许多全局变量,例如$post, 所以它看起来很神奇。

让我们看看更统一的方法:

$tours = get_posts( array(
    \'post_type\' => \'tours\',
    \'nopaging\' => true,
    \'each_connected_to\' => array(
        \'post_type\' => \'artists\',
        \'nopaging\' => true,
    ),
    \'suppress_filters\' => false
) );

// outer loop
foreach ( $tours as $tour ) {
    echo get_the_title( $tour->ID );
    echo get_post_meta( $tour->ID, \'ticket_link\', true );

    // inner loop
    foreach ( $tour->connected_to as $artist ) {
        echo get_the_title( $artist->ID );
        echo \'<br/>\';
    }
}
Update: 这个答案已经过时了;有关当前示例,请参见https://github.com/scribu/wp-posts-to-posts/wiki/Looping-The-Loop

相关推荐

是否可以取消对特定帖子类型的POSTS_PER_PAGE限制?

我想知道我是否可以取消特定帖子类型的posts\\u per\\u页面限制。在存档中。php页面我显示不同的帖子类型,对于特定的“出版物”帖子类型,我想显示所有帖子。我如何在不影响传统“post”类型的情况下实现这一点?

如何使用Scribu的WordPress插件发布2个帖子? - 小码农CODE - 行之有效找到问题解决它

如何使用Scribu的WordPress插件发布2个帖子?

时间:2011-03-13 作者:Dwayne Charrington

我有一个Wordpress网站,它非常依赖人际关系。这是一个唱片公司网站,艺术家可以在该网站上进行巡演、评论、专辑发行和存储物品。

我找到了插件Posts to Posts by Scribu 这似乎是我想要的,但我不知道如何正确使用它。Scribu发布了示例代码,但由于某些原因,我无法理解它。

下面是一个我想用我正在工作的网站做什么的例子。

Tours Page.

旅游项目具有标题和名为“tickets\\u link”的自定义元字段

加载tours页面后,所有tours都将显示其指定的艺术家,如果有tickets链接,则也会显示该链接。

如果这里有人能理解Scribu网站上发布的插件代码,然后向我解释,我将不胜感激。

<小时>Here is my code from the functions.php file registering the connections:

    function my_connection_types() {
    if ( !function_exists(\'p2p_register_connection_type\') )
        return;

    p2p_register_connection_type( \'tours\', \'artists\' );
    p2p_register_connection_type( \'homepage_carousel\', \'artists\' );
    p2p_register_connection_type( \'duka\', \'artists\' );
    p2p_register_connection_type( \'products_carousel\', \'artists\' );
}
  add_action(\'init\', \'my_connection_types\', 100);
<小时>Pseudo code to show what I want to do in my code:

使用循环获取my tours custom post archive中的所有tours,该循环将所有tours添加到站点


Further update along with code I am using and print_r values.

我在查询的print\\r内容中显示了相关的艺术家,而之前我没有显示。当我进行print\\r时,会显示以下内容,但无法访问数据。

[connected_connected] => Array ( [0] => stdClass Object ( [ID] => 245 [post_author] => 1 [post_date] => 2011-03-10 13:55:23 [post_date_gmt] => 2011-03-10 13:55:23 [post_content] => [post_title] => 1200 Techniques [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => closed [post_password] => [post_name] => 1200-techniques [to_ping] => [pinged] => [post_modified] => 2011-03-10 13:55:23 [post_modified_gmt] => 2011-03-10 13:55:23 [post_content_filtered] => [post_parent] => 0 [guid] => http://localhost/testdev/?post_type=artists&p=245 [menu_order] => 0 [post_type] => artists [post_mime_type] => [comment_count] => 0 [p2p_id] => 2 [p2p_from] => 215 [p2p_to] => 245
The code I am using to relate artists with tours is the following:

$connected = new WP_Query(array(
    \'post_type\' => \'tours\',
    \'nopaging\' => true,
    \'each_connected\' => array(
        \'post_type\' => \'artists\',
        \'nopaging\'  => true,
    ),
    \'suppress_filters\' => false
));

while( $connected->have_posts() ): $connected->the_post();
    the_title();
    echo "<br />";
endwhile;   

print_r($connected); // Print_r for showing contents of post object.
<小时>Update for Scribu:

$args = array
(
    \'post_type\'        => \'tours\',
    \'nopaging\'         => true,
    \'suppress_filters\' => false
);

$connected = new WP_Query($args);

while($connected->have_posts()): $connected->the_post();

    the_title();
    echo "<br />";

    foreach ($connected->connected AS $tour_item)
    {
        echo get_the_title($tour_item->ID);
        echo "<br />";
    }

endwhile;

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

好的,这样的想法是你有一个外环,它显示旅行。

然后有一个内部循环,显示每个艺术家。

循环的工作方式是填充许多全局变量,例如$post, 所以它看起来很神奇。

让我们看看更统一的方法:

$tours = get_posts( array(
    \'post_type\' => \'tours\',
    \'nopaging\' => true,
    \'each_connected_to\' => array(
        \'post_type\' => \'artists\',
        \'nopaging\' => true,
    ),
    \'suppress_filters\' => false
) );

// outer loop
foreach ( $tours as $tour ) {
    echo get_the_title( $tour->ID );
    echo get_post_meta( $tour->ID, \'ticket_link\', true );

    // inner loop
    foreach ( $tour->connected_to as $artist ) {
        echo get_the_title( $artist->ID );
        echo \'<br/>\';
    }
}
Update: 这个答案已经过时了;有关当前示例,请参见https://github.com/scribu/wp-posts-to-posts/wiki/Looping-The-Loop

相关推荐

如何修改WP_INCLUDE/BLOCKS/LATEST_posts.php

我是WordPress开发的初学者,希望得到一些帮助。我在一个简单的WordPress网站上工作。基本上,用户希望在主页上显示最新的帖子。我使用了最新帖子块,并将其设置为显示整个帖子内容,现在用户不希望帖子标题链接到单个帖子页面(因为帖子的内容显示在主页上)。如何安全地修改模板文件,使其像h2标记一样使用,而不是在主题中使用的href标记。我知道您可以创建子主题并修改wp_content 文件,但我不确定如何处理中的文件wp_include. 我读到一些关于修改functions.php 但我不确定,如果