2016-03-10 2 views
-1

Я пытаюсь сделать ссылку на свой логотип обратно на страницу landning. Ive пытался связать мой логотип с пользовательским URL, но я каждый раз разбиваю сайт.Как связать логотип с пользовательским url wordpress

Ниже приведен фрагмент из заголовка header.php. Любая помощь приветствуется.

<?php 
    /*************************************** 
       SITE LOGO   
    ***************************************/ 
    if (!function_exists('be_themes_get_header_logo_image')) { 
    function be_themes_get_header_logo_image() { 
     global $be_themes_data; 
     $logo = get_template_directory_uri().'/img/logo.png'; 
     if(! empty($be_themes_data['logo']['url'])) { 
      $logo = $be_themes_data['logo']['url']; 
     } 
     if(! empty($be_themes_data['logo_sticky']['url'])) { 
      $logo_sticky = $be_themes_data['logo_sticky']['url']; 
     } else { 
      $logo_sticky = $logo; 
     } 
     if(! empty($be_themes_data['logo_transparent']['url'])) { 
      $logo_transparent = $be_themes_data['logo_transparent']['url']; 
     } else { 
      $logo_transparent = $logo; 
     } 
     if(! empty($be_themes_data['logo_transparent_light']['url'])) { 
      $logo_transparent_light = $be_themes_data['logo_transparent_light']['url']; 
     } else { 
      $logo_transparent_light = $logo_transparent; 
     } 
     echo '<a href="'.home_url().'">'; 
      $post_id = be_get_page_id(); 
      if(is_singular('post') && is_single($post_id) && isset($be_themes_data['single_blog_hero_section_from']) && $be_themes_data['single_blog_hero_section_from'] == 'inherit_option_panel') { 
       $header_transparent = $be_themes_data['single_blog_header_transparent']; 
      } else if((in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins'))) && is_product($post_id)) && isset($be_themes_data['single_shop_hero_section_from']) && $be_themes_data['single_shop_hero_section_from'] == 'inherit_option_panel') { 
       $header_transparent = $be_themes_data['single_shop_header_transparent']; 
      } else { 
       $header_transparent = get_post_meta($post_id, 'be_themes_header_transparent', true); 
      } 
      if(!empty($header_transparent) && isset($header_transparent) && ('none' != $header_transparent)) { 
       echo '<img class="transparent-logo dark-scheme-logo" src="'.$logo_transparent.'" alt="Logo" />'; 
       echo '<img class="transparent-logo light-scheme-logo" src="'.$logo_transparent_light.'" alt="Logo" />'; 
       echo '<img class="normal-logo" src="'.$logo.'" alt="Logo" />'; 
       echo '<img class="sticky-logo" src="'.$logo_sticky.'" alt="Logo" />'; 
      } else { 
       echo '<img class="normal-logo" src="'.$logo.'" alt="Logo" />'; 
       echo '<img class="sticky-logo" src="'.$logo_sticky.'" alt="Logo" />'; 
      } 
     echo '</a>'; 
    } 
} 
+0

Добавить \t Вокруг тега изображения. –

+0

@MeesKluivers не знают, где они должны быть. –

+0

Я не знаю, что вы имеете в виду под «My logo», поскольку есть несколько тегов img. Оберните тег вокруг своего логотипа. –

ответ

0

Вы не оставили достаточно информации, поэтому я буду делать некоторые предположения относительно ваших намерений.

Похоже, что этот раздел просто получает URL-адрес для разных файлов img на основе разных критериев. Итак, этот раздел должен быть прекрасным нетронутым.

<?php 
    /*************************************** 
       SITE LOGO   
    ***************************************/ 
    if (!function_exists('be_themes_get_header_logo_image')) { 
    function be_themes_get_header_logo_image() { 
     global $be_themes_data; 
     $logo = get_template_directory_uri().'/img/logo.png'; 
     if(! empty($be_themes_data['logo']['url'])) { 
      $logo = $be_themes_data['logo']['url']; 
     } 
     if(! empty($be_themes_data['logo_sticky']['url'])) { 
      $logo_sticky = $be_themes_data['logo_sticky']['url']; 
     } else { 
      $logo_sticky = $logo; 
     } 
     if(! empty($be_themes_data['logo_transparent']['url'])) { 
      $logo_transparent = $be_themes_data['logo_transparent']['url']; 
     } else { 
      $logo_transparent = $logo; 
     } 
     if(! empty($be_themes_data['logo_transparent_light']['url'])) { 
      $logo_transparent_light = $be_themes_data['logo_transparent_light']['url']; 
     } else { 
      $logo_transparent_light = $logo_transparent; 
     } 

Это раздел, который делает любой из ваших разных логотипов при разных обстоятельствах ссылкой. Таким образом, здесь произойдут изменения.

 echo '<a href="'.home_url().'">'; 
      $post_id = be_get_page_id(); 
      if(is_singular('post') && is_single($post_id) && isset($be_themes_data['single_blog_hero_section_from']) && $be_themes_data['single_blog_hero_section_from'] == 'inherit_option_panel') { 
       $header_transparent = $be_themes_data['single_blog_header_transparent']; 
      } else if((in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins'))) && is_product($post_id)) && isset($be_themes_data['single_shop_hero_section_from']) && $be_themes_data['single_shop_hero_section_from'] == 'inherit_option_panel') { 
       $header_transparent = $be_themes_data['single_shop_header_transparent']; 
      } else { 
       $header_transparent = get_post_meta($post_id, 'be_themes_header_transparent', true); 
      } 
      if(!empty($header_transparent) && isset($header_transparent) && ('none' != $header_transparent)) { 
       echo '<img class="transparent-logo dark-scheme-logo" src="'.$logo_transparent.'" alt="Logo" />'; 
       echo '<img class="transparent-logo light-scheme-logo" src="'.$logo_transparent_light.'" alt="Logo" />'; 
       echo '<img class="normal-logo" src="'.$logo.'" alt="Logo" />'; 
       echo '<img class="sticky-logo" src="'.$logo_sticky.'" alt="Logo" />'; 
      } else { 
       echo '<img class="normal-logo" src="'.$logo.'" alt="Logo" />'; 
       echo '<img class="sticky-logo" src="'.$logo_sticky.'" alt="Logo" />'; 
      } 
     echo '</a>'; 

Это будет быстро, грязно и непроверено. Я вижу два возможных желаемых результата. Во-первых, все изображения должны быть связаны где-то еще, это было бы проще всего. Измените его в настройках | Генеральная. Это будет тот же эффект, что и жесткое кодирование в файл заголовка.

Если вы действительно хотите его жестко запрограммировать, вы можете сделать это, изменив первую строку второго раздела.

Изменить

echo '<a href="'.home_url().'">'; 

Для

echo '<a href="http://www.desired-url.com">'; 

Следующий путь вы хотите только определенное условие IMG обернутый с новым URL и поведение по умолчанию в противном случае на месте. Это требует еще нескольких изменений. Вам нужно получить набор img и обернуть нужную ссылку вокруг него. Таким образом, вам придется скомпилировать строку, которая будет echo ed, затем эхо в конце.

$logo_link = ''; 

$original_url_start = '<a href="'.home_url().'">'; 
$new_url_start = '<a href="http://www.desired-url.com">'; 
$url_end = '</a>'; 

$post_id = be_get_page_id(); 

if(is_singular('post') && is_single($post_id) && isset($be_themes_data['single_blog_hero_section_from']) && $be_themes_data['single_blog_hero_section_from'] == 'inherit_option_panel') { 
    $header_transparent = $be_themes_data['single_blog_header_transparent']; 
} else if((in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins'))) && is_product($post_id)) && isset($be_themes_data['single_shop_hero_section_from']) && $be_themes_data['single_shop_hero_section_from'] == 'inherit_option_panel') { 
    $header_transparent = $be_themes_data['single_shop_header_transparent']; 
} else { 
    $header_transparent = get_post_meta($post_id, 'be_themes_header_transparent', true); 
} 

if(!empty($header_transparent) && isset($header_transparent) && ('none' != $header_transparent)) { 
    $img1 = '<img class="transparent-logo dark-scheme-logo" src="'.$logo_transparent.'" alt="Logo" />'; 
    $img2 = '<img class="transparent-logo light-scheme-logo" src="'.$logo_transparent_light.'" alt="Logo" />'; 
    $img3 = '<img class="normal-logo" src="'.$logo.'" alt="Logo" />'; 
    $img4 = '<img class="sticky-logo" src="'.$logo_sticky.'" alt="Logo" />'; 

    $logo_link = $new_url_start.$img1.$img2.$img3.$img4.$url_end; 
} else { 
    $img5 = '<img class="normal-logo" src="'.$logo.'" alt="Logo" />'; 
    $img6 = '<img class="sticky-logo" src="'.$logo_sticky.'" alt="Logo" />'; 

    $logo_link = $original_url_start.$img5.$img6.$url_end; 
} 


echo $logo_link; 

Если условие противоположностью того, что вы хотите, то поменять местами переменные $ new_url_start и $ original_url_start.

Изменить это:

$logo_link = $new_url_start.$img1.$img2.$img3.$img4.$url_end; 

Для этого:

$logo_link = $original_url_start.$img1.$img2.$img3.$img4.$url_end; 

и

Изменить это:

$logo_link = $original_url_start.$img5.$img6.$url_end; 

Для этого:

$logo_link = $new_url_start.$img5.$img6.$url_end; 

Надеюсь, это поможет.

Бест,

Tim

Смежные вопросы