我在Wordpress中有一个自定义帖子,我想为类别(我的自定义帖子的分类法)添加默认值。当用户在添加帖子时未选择任何类别时。
请帮助我,可用的答案不会帮助我。 预先感谢!
答案 0 :(得分:0)
这将帮助您完全按照自己的意愿去做: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并做大量研究,然后再发布已经有成千上万的答案的问题:)
答案 1 :(得分:0)
您需要在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 );
}
}
}
}