Как настроить видимость настраиваемого типа записи WordPress на частную после редактирования?

Не обрезайте [], и все должно быть в порядке. [] идентифицируют массив JSON, который именно то, что вам нужно, чтобы выполнять итерацию его элементов.

0
задан icolumbro 25 March 2019 в 13:27
поделиться

1 ответ

Вы можете подключиться к save_post, который вызывается после создания или обновления сообщения.

 <?php

    add_action( 'save_post', 'callback_save_post', 10, 3);
    function callback_save_post( $post_ID, $post, $update ){
        if ( 'my-cpt' === get_post_type( $post_ID) && ! wp_is_post_revision( $post_ID ) ) {
            // unhook this function so it doesn't loop infinitely
            remove_action('save_post', 'callback_save_post', 10 );

            // Make the post private if it is edited else make it draft.
            if ( $update ) {
                $postarr = array(
                    'ID' => $post_ID,
                    'post_status' => 'private'
                );
            } else {
                $postarr = array(
                    'ID' => $post_ID,
                    'post_status' => 'draft'
                );
            }

            // Update the post.
            wp_update_post( $postarr );

            // re-hook this function.
            add_action( 'save_post', 'callback_save_post', 10, 3);
        }
    }

Ссылка:

https://developer.wordpress.org/reference/hooks/save_post/

https: // код .wordpress.org / Function_Reference / wp_update_post

0
ответ дан Sagar Bahadur Tamang 25 March 2019 в 13:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: