Я пытаюсь добавить новое сообщение в блоге, когда создается событие (пользовательский тип сообщения), и редактировать сообщение при обновлении события. До сих пор мне удавалось добавлять новый пост при создании события, но он также создает новый пост при сохранении события, поэтому мне нужно проверить, существует ли уже пост в блоге, прежде чем делать вставку. Я попробовал функцию post_exists(title), но затем она вообще перестала создавать сообщения, поэтому я думаю, что проблема в том, что мне нужен способ проверить, существует ли сообщение по определенному типу сообщения?
вот что у меня есть до сих пор:
function create_event_post( $post_id ) {
// If this is just a revision, don't create post.
if ( wp_is_post_revision( $post_id ) )
return;
$post_title = get_the_title( $post_id );
$post_type = get_post_type($post_id);
$post_url = get_permalink( $post_id );
$post_content = get_post_field('post_content', $post->ID);
$featured_image_url = get_the_post_thumbnail_url($post_id, 'full');
$author_id = get_post_field ('post_author', $post_id);
$author_name = get_the_author_meta( 'display_name' , $author_id );
$slug = 'event';
// If the post is not "tribe_events", don't create a new post.
if ( "tribe_events" != $post_type )
return;
$post_id = post_exists( $my_title );
if (!$post_id) {
$post_id = wp_insert_post(
array(
'comment_status' => 'closed',
'ping_status' => 'closed',
'post_author' => $author_id,
'post_title' => $post_title,
'post_content' => $post_content,
'post_status' => 'publish',
'post_type' => 'post'
)
);
}
add_action( 'save_post', 'create_event_post' );
else { $my_post = array( 'post_content' => $post_content ); wp_update_post( $my_post ); }
05.03.2018