Я сгущаю некоторую область повторяющегося кода в нескольких шаблонах в один шорткод, который я могу легко использовать повторно.
Я называю URL рекомендуемого изображения как встроенный стиль фонового изображения, он прекрасно работает! Вот код
<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>
<?php while (have_posts()) : the_post(); ?>
<div class="single-casestudy" style="background-image: url('<?php echo $image[0]; ?>'); background-size: 100%;">
<div class="case-study-content">
<h4><?php the_title(); ?></h4>
<p><?php echo excerpt(22); ?></p>
</div>
</div>
<?php endwhile ; ?>
Это отлично работает, когда нет в шорткоде, и я могу видеть мое изображение в качестве фона на живом сайте, однако, если поместить его в функцию шорткода, это не ошибка, просто не работает! Вот код, который я использую для функциональности шорткода. Кажется, что $ image [0] не вытягивает какие-либо данные в массив.
function otherinfo_function() {
$args = array( 'post_type' => 'casestudy',
'posts_per_page' => -1,
'orderby' => menu_order,
'order' => RAND
);
query_posts($args);
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ),'single-post-thumbnail' );
while (have_posts()) : the_post();
echo $image[0];
$output = $output . '<div class="single-casestudy" style="background-image: url(' . $image[0] .'); background-size: 100%;">';
$output = $output . '<div class="case-study-content">';
$output = $output . '<h4>' . get_the_title() . '</h4>';
$output = $output . '<p>' . excerpt(22) . '</p>';
$output = $output . '</div>';
$output = $output . '</div>';
endwhile ;
$output = $output . '</div>';
return $output;
}
add_shortcode('otherinfo', 'otherinfo_function');
Если бы кто-то мог помочь, это было бы супер здорово!
Сэм
Задача ещё не решена.
Других решений пока нет …