Я пытаюсь создать функцию, в которой дочерний пост определенного типа наследует тот же заголовок и ярлык, что и его родитель. Я использую WP Types для определения своих типов сообщений и их взаимосвязей. Но у меня проблемы с кодом ниже:
function copy_parent_post_title( $post_id ) {
$new_post = get_post($post_id);
if($new_post->post_type == 'carnews-adverts') {
$parent_id = get_post_meta( $post_id, '_wpcf_belongs_carnews_id', true );
$parent_title = get_the_title($parent_id);
$post_slug = sanitize_title_with_dashes($parent_title);
$post_update = array(
'ID' => $post_id,
'post_title' => $parent_title,
'post_name' => $post_slug
);
remove_action( 'wp_insert_post', 'copy_parent_post_title' );
wp_update_post( $post_update );
add_action( 'wp_insert_post', 'copy_parent_post_title' );
}
}
add_action( 'wp_insert_post', 'copy_parent_post_title' );
Проблема в этой строке:
$parent_id = get_post_meta( $post_id, '_wpcf_belongs_carnews_id', true );
Я полагаю, это потому, что на данный момент метаданные сообщения еще не были вставлены в базу данных? Если да, то как я могу добиться того, чего хочу, обратившись к get_post_meta при вставке сообщения?
Спасибо
$parent_title = get_the_title($post_id);
или$parent_title = $new_post->post_title;
? Разве $post_id не является идентификатором родительского сообщения? - person Hamish   schedule 24.01.2014