我正在创建一个Wordpress主题,将所有页面显示为单个页面上的部分,菜单滚动到每个部分。我希望用户能够为每个页面设置一个独特的背景(这将是页面的特色图像)。我发现的是,当用户为一个页面设置图像时,它将成为所有页面的背景图像。
如何调整我的代码,以便用户可以为每个页面设置唯一的背景图像?下面是我创建所有页面并在一页上显示的代码:
<?php $pages = get_pages(array('sort_column' => 'menu_order'));
foreach ($pages as $page_data) {
$content = apply_filters('the_content', $page_data->post_content);
$title = $page_data->post_title;
$slug = $page_data->post_name;
//get url of featured image
$thumb_id = get_post_thumbnail_id();
$thumb_url_array = wp_get_attachment_image_src($thumb_id, 'thumbnail-size', true);
$thumb_url = $thumb_url_array[0];
//check if page has featured image
if ( has_post_thumbnail() ) {
$featured_image = $thumb_url;
}
else {
$featured_image = '';
}
echo "<section id='$slug' class='main fullscreen'>";
echo '<article class="main parallax" style="background:url(' . $featured_image . ') 50% 0 repeat fixed;">';
echo $content;
echo '</article>';
echo "</section>";
}
?>
答案 0 :(得分:0)
是否有可能
$thumb_url_array = wp_get_attachment_image_src($thumb_id, 'thumbnail-size', true);
行是将值添加到数组中的下一个位置而不是替换[0]位置?也许将该行更改为
$thumb_url_array[0] = wp_get_attachment_image_src($thumb_id, 'thumbnail-size', true);
会导致将正确的值分配给$ thumb_url以及if语句中的$ featured_image。
答案 1 :(得分:0)
您需要更改
$thumb_id = get_post_thumbnail_id();
到
$thumb_id = get_post_thumbnail_id($pages_data->ID);