将“onClick”选项添加到标题菜单项

时间:2020-01-26 作者:paolucci

在我的网站上,我有一个问题。在《我的男人》中,我有一个声音叫“area riservata”。

我想做的是:在这个特定的语音上插入一个条件,这样当用户单击这个语音时,一个未登录的用户将进入一个页面(称为“diventa Yallers”,他们可以在我的网站上注册),一个登录的用户将进入另一个页面(称为“profilo”,用户可以在这里查看他们的配置文件设置等)。

1 个回复
最合适的回答,由SO网友:Tony Djukic 整理而成

我去了GeneratePress网站,查看了他们的一个演示:

<nav id="site-navigation" class="main-navigation sub-menu-left" itemtype="https://schema.org/SiteNavigationElement" itemscope>
    <div class="inside-navigation">
        <button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false">
            <span class="mobile-menu">Menu</span>
        </button>
        <div id="primary-menu" class="main-nav">
            <ul id="menu-menu-1" class=" menu sf-menu">

                <li id="menu-item-594520" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-594520"><a href="https://generatepress.com/">area riservata</a></li>

                <li id="menu-item-594521" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-594521"><a href="https://generatepress.com/premium/">Premium</a></li>

            </ul>
        </div>
    </div><!-- .inside-navigation -->
</nav><!-- #site-navigation -->
因此,在函数的PHP中,可以尝试删除以下内容:

function change_area_riservata_url() { ?>
    <script type="text/javascript">
        jQuery( document ).ready( function($) {
            <?php if( is_user_logged_in() ) : ?>
                var hrefAtt = \'https://google.com\'; //the URL if user is logged in
            <?php else : ?>
                var hrefAtt = \'https://bing.com\'; //the URL if NOT logged in
            <?php endif; ?>
            //Make sure the correct ID is in place
            $( \'#menu-item-594520 a\' ).attr( \'href\', hrefAtt );
        } );
    </script>
} ?>
add_action( \'generate_after_header\', \'change_area_riservata_url\', 20 );
显然,您需要编辑URL和菜单项的ID,以便它与您的站点相匹配。

相关推荐

WordPress REST终结点无法使用jQuery访问

我在WordPress中有REST端点,我正在尝试使用前面脚本中的jQuery ping它。当通过浏览器询问时,此选项有效:http://example.com/wp-json/wpc_ylp/v2/videos/但当我试图用jQuery从前端访问它时,它不起作用。我尝试了不同的AJAX请求,但没有得到任何响应。有人知道我做错了什么吗?此处为Rest端点:// REST END POINT FOR THE VIDEOS function wpc_ylp_rest_videos( ) { &