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

У меня есть один пользовательский пост в Wordpress, я хочу добавить значение по умолчанию для категории (таксономия моего пользовательского поста), когда пользователь не выбирает никакой категории при добавлении поста.

Пожалуйста, помогите мне с этим, доступные ответы не помогают мне. Заранее спасибо!

2 ответа

Вы должны добавить приведенный ниже код в functions.php, чтобы убедиться, что вы измените пользовательскую таксономию с вашей пользовательской таксономией, а значение - с категорией по умолчанию, которую вы хотите сохранить для каждого сообщения.

Не проверено, но это должно работать.

add_action('pre_post_update', 'saving_custom_single_post');
if( !function_exists('saving_custom_single_post') ){
    function saving_custom_single_post( $post_id ){
        if( get_post_type($post_id) == 'custom-post' ){
            $term_list = wp_get_post_terms($post_id, 'custom-taxonomy', array("fields" => "all"));
            if(empty($term_list)){
                wp_set_object_terms( $post_id, 'custom-taxonomy', 'value', false );
            }
        }
    }
}

Это поможет вам сделать именно то, что вы хотите сделать: https://wordpress.stackexchange.com/questions/189668/setting-default-category-for-custom-post-type-upon-autosave

Условия объекта в Кодексе: https://codex.wordpress.org/Function_Reference/wp_set_object_terms

Это решение будет устанавливать категорию по умолчанию при публикации сообщения в пользовательском типе сообщения.

function save_book_meta( $post_id, $post, $update ) {

    $slug = 'book'; //Slug of CPT

    // If this isn't a 'book' post, don't update it.
    if ( $slug != $post->post_type ) {
        return;
    }

    wp_set_object_terms( get_the_ID(), $term_id, $taxonomy );
}

add_action( 'save_post', 'save_book_meta', 10, 3 );

В будущем, пожалуйста, просмотрите Stack Exchange и проведите обширное исследование, прежде чем публиковать вопросы, на которые уже есть тысячи ответов:)

Другие вопросы по тегам