#php #wordpress
#php #wordpress
Вопрос:
Я пытаюсь разрешить WordPress автоматически добавлять избранное изображение в новые сообщения.
Условия:
- Идентификатор категории публикации должен быть 3
- У каждого автора / пользователя есть свое собственное изображение.
- Изображения (уже загруженные) имеют следующий формат имени: [имя автора] — [фамилия автора].jpg.
Например; когда Стив Джобс отправляет сообщение, идентификатор категории отправленного сообщения должен быть 3, а избранное изображение, установленное для этого сообщения, должно быть ‘steve-jobs.jpg «.
ОКОНЧАТЕЛЬНЫЙ РАБОЧИЙ КОД:
function set_featured_image_blog_post() {
global $post;
$already_has_thumb = has_post_thumbnail( $post->ID );
$post_category = get_the_category( $post->ID );
if ( !$already_has_thumb amp;amp; $post_category[0]->cat_ID == 3 ) {
if( $post->post_author == 3 ){
set_post_thumbnail( $post->ID, 165 );
}
else if( $post->post_author == 4 ){
set_post_thumbnail( $post->ID, 166 );
}
}
}
add_action('the_post', 'set_featured_image_blog_post');
add_action('save_post', 'set_featured_image_blog_post');
add_action('draft_to_publish', 'set_featured_image_blog_post');
add_action('new_to_publish', 'set_featured_image_blog_post');
add_action('pending_to_publish', 'set_featured_image_blog_post');
add_action('future_to_publish', 'set_featured_image_blog_post');
Комментарии:
1. codex.wordpress.org/Function_Reference/set_post_thumbnail
2. Как я узнаю thumbnail_id?
Ответ №1:
окончательный код:
function set_featured_image_blog_post() {
global $post;
$already_has_thumb = has_post_thumbnail( $post->ID );
$post_category = get_the_category( $post->ID );
if ( !$already_has_thumb amp;amp; $post_category[0]->cat_ID == 3 ) {
if( $post->post_author == 3 ){
set_post_thumbnail( $post->ID, 165 );
}
else if( $post->post_author == 4 ){
set_post_thumbnail( $post->ID, 166 );
}
}
}
add_action('the_post', 'set_featured_image_blog_post');
add_action('save_post', 'set_featured_image_blog_post');
add_action('draft_to_publish', 'set_featured_image_blog_post');
add_action('new_to_publish', 'set_featured_image_blog_post');
add_action('pending_to_publish', 'set_featured_image_blog_post');
add_action('future_to_publish', 'set_featured_image_blog_post');