Установите категорию вложения по умолчанию
Я хотел применить те же категории, которые существуют для сообщений, к вложениям, поэтому я написал этот код:
function wpmediacategory_init() {
register_taxonomy_for_object_type( 'category', 'attachment' );
}
add_action( 'init', 'wpmediacategory_init' );
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что поведение не совсем такое, как с постами. Есть 2 функции, которых я хотел бы достичь:
- При добавлении нового вложения установите для него значение "Без категории"
- При обновлении вложения, если в нем не выбраны категории, установите для него категорию "Без категорий".
Я пытался думать какие крючки я мог бы использовать, но без особого успеха. Как я мог бы решить эту проблему?
1
Author: Enrique Moreno Tent, 2014-02-22
1 answers
Чтобы решить проблему 1, вы можете подключиться к крючку add_attachment и edit_attachment.
add_action('add_attachment', 'wpse_set_attachment_category');
add_action('edit_attachment', 'wpse_set_attachment_category');
function wpse_set_attachment_category( $post_ID )
{
// if attachment already have categories, stop here
if( wp_get_object_terms( $post_ID, 'category' ) )
return;
// no, then get the default one
$post_category = array( get_option('default_category') );
// then set category if default category is set on writting page
if( $post_category )
wp_set_post_categories( $post_ID, $post_category );
}
2
Author: Shazzad, 2014-02-22 16:56:13