次のように、カスタムフィールド$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);
しかし、私はこのエラーが出ます:
不明なエラー:最大関数ネストレベル '200'に達し、中止しました!
ループを回避するにはどうすればいいですか。ありがとうございました。
簡単な方法があります、あなたはフィルタフックを使う必要がありますwp_insert_post_dataそれでコードは次のようになるはずです。
add_filter( 'wp_insert_post_data'、 'set_post_title_with_field_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;
}
このコードをテーマのfunctions.phpに追加する必要があります。だからコードを試してみて、結果を教えてください。ありがとう