2016-11-16 8 views
1

Я пытаюсь использовать новую функцию пользовательского логотипа WordPress' для выполнения следующих действий:WordPress пользовательского логотип с заданным по умолчанию/замещающего изображением

  • дисплея по умолчанию/запасной вариант логотипа.
  • Если версия WordPress поддерживает пользовательский логотип, разрешите пользователю заменить логотип по умолчанию/резервный логотип с помощью настраиваемого логотипа в Настройщике.
  • Если версия WordPress не поддерживает пользовательский логотип, или пользовательский логотип не установлен (или он удален), отобразите логотип по умолчанию/резервный логотип. там

    <?php if (function_exists('the_custom_logo')) : ?> 
        <?php if (has_custom_logo()) : ?> 
         <?php the_custom_logo(); ?> 
        <?php else : ?> 
         <h1 class="site-title"><a href="<?php echo esc_url(home_url('/')); ?>" rel="home" title="<?php bloginfo('name'); ?>"><img src="<?php echo get_stylesheet_directory_uri(); ?>/images/logo.png" alt="<?php bloginfo('name'); ?>" width="100" height="50" /></a></h1> 
        <?php endif; ?> 
    <?php else : ?> 
        <h1 class="site-title"><a href="<?php echo esc_url(home_url('/')); ?>" rel="home" title="<?php bloginfo('name'); ?>"><img src="<?php echo get_stylesheet_directory_uri(); ?>/images/logo.png" alt="<?php bloginfo('name'); ?>" width="100" height="50" /></a></h1> 
    <?php endif; ?> 
    

    является экологически чистым и более эффективный способ сделать это, не повторяя код для резервного изображения дважды:

До сих пор, это лучший код я должен работать?

ответ

2

Спасибо, но я думаю, что я нашел лучшее решение:

<?php if (function_exists('the_custom_logo') && has_custom_logo()) : ?> 
    <?php the_custom_logo(); ?> 
<?php else : ?> 
    <h1 class="site-title"><a href="<?php echo esc_url(home_url('/')); ?>" rel="home" title="<?php bloginfo('name'); ?>"><img src="<?php echo get_stylesheet_directory_uri(); ?>/images/logo.png" alt="<?php bloginfo('name'); ?>" width="100" height="50" /></a></h1> 
<?php endif; ?> 
1

Вы можете проверить как function_exist(), так и has_custom_logo() в том же if состоянии для получения одного else состояние.

$logo = ((function_exists('the_custom_logo')) && (has_custom_logo())) ? the_custom_logo() : null; 
if ($logo) { 
    echo $logo; 
} else { 
    echo '<h1 class="site-title"><a href="' . esc_url(home_url('/')) . '" rel="home" title="' . bloginfo('name') . '"><img src="' . get_stylesheet_directory_uri() . '/images/logo.png" alt="' . bloginfo('name') . '" width="100" height="50" /></a></h1>'; 
}