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