JavaScript — интегрированный FlexSlider WordPress не показывает подписи

Прежде чем кто-то связывает меня с этим Крайне похожий (если не идентичный) вопрос, ответ, указанный там, не работает с моим кодом.

Я пытаюсь сделать все через функцию как найдено Вот

Тем не менее, я не могу понять, как добавить подписи, если и ТОЛЬКО если у прикрепленного изображения есть один, не говоря уже о том, как получить доступ к заголовку прикрепленного изображения.
у меня есть ощущение wp_prepare_attachment_for_js() это способ получить доступ к заголовку прикрепленного изображения, но я настолько нов в написании функций, что даже не знаю, как использовать его в моей существующей функции.

Мои текущие функции.php:

//Add Flexslider
function add_flexslider() {

global $post;

$attachments = get_children ( array(
'post_parent' => $post->ID,
'order' => 'ASC',
'orderby' => 'menu_order',
'post_type' => 'attachment',
'post_mime_type' => 'image',
));

if ($attachments) {

echo '<div class="flexslider">';
echo '<ul class="slides">';

foreach ( $attachments as $attachment_id => $attachment ) {

echo '<li>';
echo wp_get_attachment_image($attachment_id, 'large');
//if statement that shows the caption only if attached image has one
echo '<p class="flex-caption">';
//somehow get attached image's caption. perhaps with wp_prepare_attatchment_for_js()?
echo '</p>';
//end if caption statement
echo '</li>';

}

echo '</ul>';
echo '</div>';

}

}

1

Решение

Есть много способов сделать это …wp_get_attachment_metadata() является одним из них:

$metadata = wp_get_attachment_metadata( $attachment_id );
$caption = $metadata ? $metadata['image_meta']['caption'] : '';

echo $caption;

Однако, если вы ссылаетесь на заголовок, установленный в Admin, вы можете использовать post_excerpt:

$attachment = get_post( $attachment_id );
$caption = $attachment->post_excerpt;

echo $caption;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]