我刚刚开始使用Posts 2 Posts(顺便说一下,这是一个很棒的插件),并结合了一个名为“艺术家”的自定义post类型和WP事件管理器插件。我的目标是使用P2P将艺术家链接到活动,以便活动页面可以显示谁在表演。
我在Event Manager中创建了一系列重复发生的事件,可以理解,这些事件具有递增的post ID,例如5、6、7。让我们假设这些事件都发生在随后的周一。然后我创建了一个重复发生的事件,比如在一个星期五,帖子ID是8,9,10,11。。。。。
现在,我可以通过post ID在admin中订购元框的顺序,如下所示:
function order_pages_by_ID( $args, $ctype, $post_id ) {
if ( \'posts_to_pages\' == $ctype->name ) {
$args[\'orderby\'] = \'ID\';
$args[\'order\'] = \'asc\';
}
return $args;
}
add_filter( \'p2p_connectable_args\', \'order_pages_by_ID\', 10, 3 );
但当我试图从艺术家页面将艺术家连接到事件时,现在将显示所有周一事件,然后显示所有周五事件。我想要的是周一、周五、周一、周五等。活动CPT有一个custcom字段,名为
_event_start_date
我可以使用以下方法将其附加到管理元框中的标签:
function append_date_to_candidate_title( $title, $post, $ctype ) {
if ( \'my_connection_type\' == $ctype->name && \'event\' == $post->post_type ) {
$meta = get_post_meta( $post->ID, "_event_start_date" );
$title .= " (" . reset($meta) . ")";
}
return $title;
}
是否有任何可能的方法来对admin meta框的查询进行排序,以将此自定义字段考虑在内并按此排序(或者甚至在以后在PHP中排序)?我已经看到了一些例子,当从前端使用“get\\u connected()”时,在管理元框中没有任何与排序相关的内容来排序帖子。