Intereting Posts
Я не получаю письмо с напоминанием пароля the_title () показывает название первого сообщения вместо заголовка страницы? Есть ли какая-либо неотъемлемая разница между add_filter () и add_shortcode () для изменения ? Как удалить ссылку изображения на WP 4.2 Как удалить короткий код (ы) из WYSIWYG Редактора страниц для Non Admins Специальная проблема с пользовательским интерфейсом пользовательского навигационного меню Я не могу получить доступ к страницам для моей пользовательской таксономии Получение сообщения JSON о моих сообщениях и отображение эскизов изменяет размеры изображений на лету Фильтр post_row_actions не работает при обновлении после быстрого редактирования Обновите и настройте панель мониторинга (update-core.php / customize.php), не загружая css Загрузите различные шаблоны single.php в соответствии с выбором макета публикации Как предоставить все CPT папку автоматически на основе их пули Как установить заголовок страницы в значение API в functions.php Как выровнять по центру меню в 20-ти десятимесячной теме WordPress?

Добавление заголовка и описания к показанному изображению подстраницы

Хей! У меня есть подстраница, чтобы отобразить ее образ подстраницы. Я хотел бы добавить название и описание под миниатюрами. Сегодня мой код выглядит так>

В функции functions.php

function my_geturls($post = NULL, $which = 'both') { first we get the post, if no post is passed we use global post if ( empty( $post ) ) global $post; if ( is_numeric($post) ) $post = get_post( $post ); if ( ! $post instanceof WP_Post ) return; $children = FALSE; $parent = FALSE; // if we want children posts thumbnail... if ( $which !== 'parent' ) { // run a query to get attachment id set as thumbnail in children posts global $wpdb; $q = "SELECT {$wpdb->postmeta}.meta_value FROM {$wpdb->postmeta} JOIN {$wpdb->posts} ON {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id WHERE {$wpdb->postmeta}.meta_key = '_thumbnail_id' AND {$wpdb->posts}.post_parent = %d"; $thumb_ids = $wpdb->get_col( $wpdb->prepare( $q, $post->ID ) ); // if some results, call wp_get_attachment_image_src on all ids to get image urls if ( ! empty( $thumb_ids ) ) { $children = array_map( function($tid) { $img = wp_get_attachment_src( $tid ); // <-- SET SIZE HERE return $img[0]; }, $thumb_ids ); } } // if we want parent post thumbnail... if ( $which !== 'children' && $post->post_parent ) { $tid = get_post_thumbnail_id( $post->post_parent ); if ( $img ) { // get the url of parent post thumbnail $urls = wp_get_attachment_src( $tid ); // <-- SET SIZE HERE $parent = $img[0]; } } // if we want only children posts thumbnail return them if ( $which === 'children' ) return $children; // if we want only parent post thumbnail return it if ( $which === 'parent' ) return $parent; // if we want bot return an array with both return array( 'children' => $children, 'parent' => $parent ); } 

Это мой код в файле page.php.

  <?php global $post; if ( is_page() ) { $thumbnails = my_get_thumbnails(); if ( ! empty( $thumbnails['parent'] ) ) { $format = '<a href="<?php echo get_page_link( $child_page->ID ); ?><div class="parent-thumb"><img src="%s" class="img-responsive" id="img-center" max-height="255px" width="auto" alt="" /></div></a>'; printf( $format, $thumbnails['parent'] ); } if ( is_array( $thumbnails['children'] ) && ! empty( $thumbnails['children'] ) ) { $open = '<a href="<?php echo get_page_link( $child_page->ID ); ?>"><div max-height="255px" width="auto" class="child-thumb"><img class="img-responsive" id="img-center" max-height="255px" width="auto" src="'; $close = '" alt="" /></div><a>'; echo $open . implode( $close . $open, $thumbnails['children'] ) . $close; } } ?> 

Заранее спасибо! Ханнес

Я нашел, как это можно сделать! Вместо использования этой функции можно было добавить запрос и другую функцию. Код указан в файле page.php.

  <?php $subs = new WP_Query( array( 'post_parent' => $post->ID, 'post_type' => 'page', 'meta_key' => '_thumbnail_id' )); if( $subs->have_posts() ) : while( $subs->have_posts() ) : $subs->the_post(); echo '<div class="re-featured-image child-thumb">' . get_the_post_thumbnail($post->ID, 'index-thumb', array('class' => 'img-responsive', 'id' => 'img-center')); echo '<div class="re-featured-image-title">' . get_post(get_post_thumbnail_id($post->ID))->post_title . '</div>'; echo '<div class="re-featured-image-caption">' . get_post(get_post_thumbnail_id($post->ID))->post_excerpt . '</div>'; echo '<div class="re-featured-image-description">' . get_post(get_post_thumbnail_id($post->ID))->post_content . '</div></div>'; endwhile; endif; wp_reset_postdata(); ?> 

Если вы хотите, чтобы ваш эскиз ссылался на его страницу, добавьте эту функцию в файл functions.php. Я нашел код здесь http://wordpress.org/support/topic/making-post-thumbnail-link-to-post

 add_filter( 'post_thumbnail_html', 'my_post_image_html', 10, 3 ); function my_post_image_html( $html, $post_id, $post_image_id ) { $html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_post_field( 'post_title', $post_id ) ) . '">' . $html . '</a>'; return $html; 

}