我想用自定义字段的内容编写帖子标题$sentence_number
, 这样做:
add_action(\'save_post\', function ($title, $post_id) {
$post_type = get_post_type($post_id);
if ($post_type == \'sentence\') {
$sentence_number = get_field(\'sentencia_no\', $post_id);
wp_update_post($post_id, [
\'post_title\' => $sentence_number
]);
}
}, 10, 2);
但我有一个错误:
Uncaught Error: Maximum function nesting level of \'200\' reached, aborting!
我应该如何避免循环?非常感谢。
最合适的回答,由SO网友:Souvik Sikdar 整理而成
有一个简单的方法,你需要使用过滤器挂钩wp_insert_post_data所以代码应该是
添加过滤器(\'wp\\U insert\\U post\\U data\',\'set\\U post\\U title\\U with\\U field\\U value\');
function set_post_title_with_field_value( $data )
{
if ($data[\'post_type\'] == \'sentence\' ){
$sentence_number = get_field(\'sentencia_no\', $data[\'ID\']);
$data[\'post_title\'] = $sentence_number;
}
return $data;
}
您需要将此代码添加到主题函数中。php。因此,请尝试代码并告诉我结果。谢谢