Wordpress Posts 2 Posts插件:使用键default_cb无效的字段中使用回调

时间:2014-05-02 16:48:44

标签: php wordpress wordpress-plugin

我已经开始使用帖子来发布Scribu的插件,真棒插件!我需要使用回调函数来获取与连接帖子相关的元数据,但回调不起作用。

p2p_register_connection_type( array(
    'name' => 'subdishes_to_groceries',
    'from' => 'subdishes',
    'to' => 'groceries',
    'title' => 'Sub Ingredients',
    'admin_box' => array(
        'context' => 'normal'
    ),
    'fields' => array(  
        'yield_unit' => array( 
            'title' => 'Y Unit',
            'type' => 'text',
            'default_cb' => 'get_groc_y_unit', // CALLBACK          
        ),
        'yield_price' => array( 
            'title' => 'Y Price',
            'type' => 'text',
            'value' => 'asdasdasd',             
        ),          
        )       

) );    

function get_groc_y_unit( $connection, $direction ) {

    global $post;
    $key = ( 'from' == $direction ) ? 'p2p_to' : 'p2p_from';
    $post = get_post( $connection->$key );
    setup_postdata($post);

    return the_title();

}

这里的$连接是什么?我查了帖子2帖子wiki但是无法弄清楚。非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

好的,问题解决了! ' default_cb'仅在创建连接时有效,而在管理页面中加载现有连接时无效。

此外,我创建了自己的自定义密钥并对核心文件进行了一些攻击,以便在加载现有连接时允许使用回调中的帖子相关元数据。基本上,我需要在具有连接元数据的单独列中显示静态元数据。 p2p_connected_title和p2p_candidate_title不足以帮助我,所以我不得不破解核心。另外,在这种情况下不要使用setup_postdata,它会弄乱UI!