我正在使用Atelier theme和WC Vendor Pro plugin。我正在尝试编辑WC Vendors Pro提供的默认模板,以将俱乐部背景图像显示在默认主题英雄标题栏中(如果存在)。
我已经尝试了各种各样的方法,但是我对PHP和数组不是很熟悉,所以我的测试主要来自查看其他代码示例。
默认主题英雄形象
if ( isset( $sf_options['default_page_heading_image'] ) ) {
$fancy_title_image = $sf_options['default_page_heading_image'];
}
if ( $fancy_title_image_url == "" && isset( $fancy_title_image ) && isset( $fancy_title_image['url'] ) ) {
$fancy_title_image_url = $fancy_title_image['url'];
}
if ( $fancy_title_image_url != "" ) {
$hero_styles[] = "background-image: url(" . esc_url($fancy_title_image_url) . ");";
}
供应商英雄形象
$store_banner_src = wp_get_attachment_image_src( get_user_meta( $vendor_id,
'_wcv_store_banner_id', true ), 'full' );
if ( is_array( $store_banner_src ) ) {
$store_banner = "background-image: url(" . esc_url($store_banner_src[0]) . ");";
} else {
// Getting default banner
$default_banner_src = get_option( 'wcvendors_default_store_banner_src' );
$store_banner = "background-image: url(" . esc_url($default_banner_src) . ");";
}
输出代码
<div class="page-heading fancy-heading <?php echo esc_attr($page_heading_el_class); ?> clearfix <?php echo esc_attr($page_title_text_style); ?>-style fancy-image <?php echo esc_attr($page_heading_el_class); ?>" style="<?php echo implode('', $hero_styles); ?>" data-height="<?php echo esc_attr($page_title_height); ?>" data-img-width="<?php echo esc_attr($heading_img_width); ?>" data-img-height="<?php echo esc_attr($heading_img_height); ?>">
<span class="media-overlay"></span>
我已经缩小了范围,将背景图像URL通过PHP $hero_styles
标签内的implode
动态插入默认标题栏中。这可以正常工作,但是如果您正在查看卖方商店,我现在尝试添加卖方默认图像或唯一卖方图像(如果已设置)以覆盖此默认标题背景图像。
我想我上面已经添加了正确的代码行,但都有些混乱。我尝试在$store_banner
后加$hero_styles
,并用逗号分隔,但这可以防止加载任何图像。
我知道我需要弄清楚如何使用某种 IF语句,但是我很困惑,我的头已经痛了!
请帮助!