如何使我的主题英雄标题动态化以包含供应商自定义背景图片?

时间:2019-01-22 13:32:47

标签: php wordpress woocommerce woocommerce-theming

我正在使用Atelier themeWC 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语句,但是我很困惑,我的头已经痛了!

请帮助!

0 个答案:

没有答案