Я разработал эту пользовательскую тему WP: http://www.asper-eritrea.com/
Как вы можете видеть в выдержке из поста (на главной странице), он показывает первое изображение в моих постах.
Для этого я использую этот код:
<div class="entry-content">
<?php
if (!has_post_thumbnail() && catch_that_image()) {
if ( get_the_post_thumbnail($post_id) != '' ) { // Se l'articolo non ha un'immagine predefinita:
echo '<span class="thumb"><a href="'; the_permalink(); echo '" class="thumbnail-wrapper">';
the_post_thumbnail();
echo '</a><span>';
} else {
echo '<a href="'; the_permalink(); echo '" class="thumbnail-wrapper">';
echo '<img src="';
echo catch_that_image();
echo '" alt="" />';
echo '</a>';
}
}
?>
<?php
if(has_post_thumbnail()) {
echo '<span class="thumbnail"><a href="'; the_permalink(); echo '">';the_post_thumbnail(array(100,100)); echo '</a></span>';
}
?>
<?php the_excerpt(); ?>
<?php wp_link_pages('before=<div class="page-link">' . __( 'Pages:', 'your-theme' ) . '&after=</div>') ?>
</div> <!-- .entry-content -->
Чтобы проверить, существует ли * признак изображения **, я использую has_post_thumbnail () функция, которая проверить, есть ли к сообщению прикрепленное изображение, затем, чтобы получить это изображение, я использую: the_post_thumbnail () функция.
Для получения первого изображения я использую пользовательскую функцию с именем catch_that_image () объявлен в моем файле * functions.php **, этот:
function catch_that_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 = "/path/to/default.png";
}*/
return $first_img;
}
Я хочу иметь следующее поведение: если в посте есть изображение, но показанное изображение не установлен, тогда используйте первый имидж в посте. Если в посте есть больше, чем на immage но показанное изображение установлен, то показать показанное изображение в пост отрывок.
в functions.php В файл также добавлена поддержка эскизов:
function aspertheme_setup() {
add_theme_support( 'post-thumbnails' );
}
Теперь моя проблема заключается в том, что первое изображение сообщения отображается правильно, но я не могу установить показанное изображение потому что, когда я создаю новый пост, у меня нет поля для настройки миниатюр.
Зачем? Что мне не хватает? Как я могу решить эту проблему?
Tnx
Andrea
РЕДАКТИРОВАТЬ 1: В «Параметры экрана» Вкладка в правом верхнем углу страницы у меня есть только это:
Вы проверили в панели управления вкладку «Параметры экрана» в правом верхнем углу страницы?
вы проверяете параметры экрана прямо на целевой странице WordPress «Приборная доска«, не проверяйте там, проверьте внутри сообщений или же страницы там вы найдете варианты экрана, включая популярное изображение, комментарии и т.д …