Как добавить значение категории по умолчанию для пользовательского сообщения в WordPress? - PullRequest
0 голосов
/ 25 июня 2018

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

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

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Вам необходимо добавить приведенный ниже код в 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 );
            }
        }
    }
}
0 голосов
/ 25 июня 2018

Это поможет вам сделать именно то, что вы хотите сделать: 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 и проведите обширное исследование, прежде чем публиковать вопросы, на которые уже есть тысячи ответов:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...