Как сделать так, чтобы моя тема «Название героя» была динамичной, чтобы включить пользовательское фоновое изображение продавца? - PullRequest
0 голосов
/ 22 января 2019

Я использую тему Atelier и WC Vendor Pro плагин . Я пытаюсь отредактировать шаблоны по умолчанию, предоставленные 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 фонового изображения динамически вставляется в строку заголовка по умолчанию, используя $hero_styles в теге PHP implode. Это работает правильно, но сейчас я пытаюсь добавить изображение поставщика по умолчанию или изображение уникального поставщика (если установлено), чтобы перезаписать это фоновое изображение заголовка по умолчанию, если вы просматриваете магазин продавца.

Я думаю, что у меня есть правильные строки кода, добавленные выше, все это будет немного грязно. Я пытался добавить $store_banner после $hero_styles, разделенных запятой, но это предотвращает любую загрузку изображения.

Я знаю, что мне нужно выяснить, как использовать какое-то IF выражение , но я так растерялся, что у меня болит голова!

Пожалуйста, помогите!

...