Отображение миниатюр в админке
-
Здравствуйте. Подскажите, пожалуйста, как можно настроить отображение автоматически установленной (через свой код) миниатюры а админке на странице редактирования поста в блоке Изображение записи?
На данный момент там отображаются только установленные вручную.Аналогов кода, который использую, в сети много, все разные, но суть одна: проверяет, есть ли миниатюра, если нет — берется первая картинка из записи, если пост без картинок — ставится заглушка по умолчанию. Все работает прекрасно, но есть проблема: а самой админке никоим образом не видно, что миниатюра записи благополучно установлена, как следствие, также отсутствует иконка у записи в общем списке, что создает некоторые неудобства.
Пример кода:function first_post_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); $first_img = $matches [1] [0]; if(empty($first_img)){ $first_img = "/wp-content/themes/mytheme/img/default.jpg"; } return $first_img; }
или такой:
function get_fbimage() { if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail())) { $src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), '', '' ); $fbimage = $src[0]; } else { global $post, $posts; $fbimage = ''; $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); $fbimage = $matches [1] [0]; } if(empty($fbimage)) { $fbimage = "/wp-content/themes/mytheme/img/default.jpg"; } return $fbimage; }
Еще момент. Есть также код, с которым в админке нет этой проблемы, но с этим кодом не ставится дефолтная заглушка. Может быть, подскажете, как его видоизменить, чтобы не использовать те, что привёл в примерах выше? Сам код:
function autoset_featured() { global $post; $already_has_thumb = has_post_thumbnail($post->ID); if (!$already_has_thumb) { $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" ); if ($attached_image) { foreach ($attached_image as $attachment_id => $attachment) { set_post_thumbnail($post->ID, $attachment_id); }}}} add_action('future_to_publish', 'autoset_featured'); add_action('the_post', 'autoset_featured'); add_action('save_post', 'autoset_featured'); add_action('draft_to_publish', 'autoset_featured'); add_action('new_to_publish', 'autoset_featured'); add_action('pending_to_publish', 'autoset_featured');
P.S. Модераторам — чтобы не апать старую тему — её можно закрыть, все коды нашёл.
- Тема «Отображение миниатюр в админке» закрыта для новых ответов.