我在这里和其他地方读过关于基于元数据设置帖子标题的内容。不幸的是,我无法让它工作,我希望其他人能给我指出正确的方向或解释我错在哪里。这是我的代码:
function setup_match_title( $data, $postarr ) {
if ( $data[\'post_type\'] == \'matches\' && $data[\'post_title\'] == \'\' ) :
$a = get_the_title( get_post_meta( $postarr[\'ID\'], \'away_name\', true ) );
$h = get_the_title( get_post_meta( $postarr[\'ID\'], \'home_name\', true ) );
$data[\'post_title\'] = $a . \' vs \' . $h;
endif;
return $data;
}
add_filter( \'wp_insert_post_data\', \'setup_match_title\', 99, 2 );
主队和客队元框是选择框,其中填充有存储球队post\\U id的“团队”post\\U类型列表
当我发布一个新的“匹配”时,我的帖子标题是“自动草稿vs自动草稿”。我猜是因为数据库中没有任何内容get_post_meta()
运行时,它将返回自动拔模。我相信,因为如果我回到帖子中,清空标题(因此它会传递最初的if语句)并更新它,就会设置正确的标题。
我做错了什么?是否有任何方法可以在运行时使用get_post_meta()
?