首页 > 解决方案 > 将动态徽标添加到 Genesis 主导航

问题描述

我想在 Genesis 导航栏中添加一个徽标( get_custom_logo() ),但是当它为空白时,会有文本。我已经以类似的方式为标题实现了这一点,但不能用于主要导航。最终结果确实有效,但是当用户转到“站点标识”的“自定义”部分时,更改不可见,直到您点击“发布”然后刷新实际页面。

在更改徽标时,我需要在“自定义”模式下看到更改。这是半功能的代码......

add_filter( 'wp_nav_menu_items', 'prefix_add_menu_item', 10, 2 );
/**
 * Add Menu Item to end of menu
 */
function prefix_add_menu_item ( $items, $args ) {
    if( $args->theme_location == 'primary' ) {
        if (( has_custom_logo())) {
            $thelogo = get_custom_logo();
            $items .=  '<li class="menu-item">' . $thelogo . '</li>';
        } else {
            $items .=  '<li class="menu-item"><a href="#">Theme Name</a></li>';
            return $items;
        }
        return $items;
    }
}

理想情况下,我想在整个站点中将此方法应用于其他钩子。如果有人能指出我做错了什么,那会有所帮助。

干杯。

标签: phpwordpressgenesis

解决方案


除非您为图像添加自定义设置到 $wp_customize 或为站点徽标添加新的 PHP 类,否则它不会在预览中刷新。无论哪种方式,这都不是一件容易的事。


推荐阅读