【问题标题】:Active link state help WORDPRESS活动链接状态帮助 WORDPRESS
【发布时间】:2009-10-25 12:30:20
【问题描述】:

寻求帮助:)

http://69.65.3.168/~doubleop/pro.sperity/blog

是我正在开发的网站,您可以看到导航是一个下拉菜单。我希望绿色悬停在活动页面上。

这是一个下拉菜单,所以我创建了父页面作为主要导航链接,下拉菜单包含子页面。

目前所有链接都是硬编码的,没有使用wordpress的内置功能。

这是我的活动链接代码,它在普通的 .php 网站上运行良好,但在 wordpress 上却不行

    <ul id="menu">
    <li <?php $string = basename($_SERVER['SCRIPT_FILENAME']); if ( strpos($string, 'index') !== false ){ echo "class='active'"; }else{ echo "class='nactive'"; } ?>><a href="http://69.65.3.168/~doubleop/pro.sperity/">Home</a>
<!--No drop downs-->
    </li>
    <li <?php $string = basename($_SERVER['SCRIPT_FILENAME']); if ( strpos($string, 'blog') !== false ){ echo "class='active'"; }else{ echo "class='nactive'"; } ?> ><a href="http://69.65.3.168/~doubleop/pro.sperity/blog">Blog</a>
<!--No drop downs-->
    </li>
    <li <?php $string = basename($_SERVER['SCRIPT_FILENAME']); if ( strpos($string, 'business-model') !== false ){ echo "class='active'"; }else{ echo "class='nactive'"; } ?> ><a href="http://69.65.3.168/~doubleop/pro.sperity/business-model">Business Model</a>
        <ul>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/business-model/introduction">Introduction</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/business-model/investment-strategy">Investment Strategy</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/business-model/investor-benefits">Investor Benefits</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/business-model/investment-programs">Investment Programs</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/business-model/properity-partnership">Prosperity Partnership</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/business-model/rrsp-investment">RRSP Investment</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/business-model/limited-partnership">Limited Partnership</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/business-model/refferal-program">Refferal Program</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/business-model/faq">FAQ</a></li>
        </ul>
    </li>
        <li <?php $string = basename($_SERVER['SCRIPT_FILENAME']); if ( strpos($string, 'track-record') !== false ){ echo "class='active'"; }else{ echo "class='nactive'"; } ?> ><a href="http://69.65.3.168/~doubleop/pro.sperity/track-record">Tack Record</a>
        <ul>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/track-record/company-overview">Company Overview</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/track-record/investment-portfolio">Investment Portfolio</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/track-record/why-prosperity">Why Prosperity</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/track-record/testimonials">Testimonials</a></li>
        </ul>
    </li>
        <li <?php $string = basename($_SERVER['SCRIPT_FILENAME']); if ( strpos($string, 'current-oppertunities') !== false ){ echo "class='active'"; }else{ echo "class='nactive'"; } ?> ><a href="http://69.65.3.168/~doubleop/pro.sperity/current-oppertunities">Current Oppertunities</a>
        <ul>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/current-oppertunities/current-offerings">Current Offerings</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/current-oppertunities/ivestor-interest-form">Investor Interest Form</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/current-oppertunities/properties-for-rent">Properties for Rent</a></li>
        </ul>
    </li>
        <li <?php $string = basename($_SERVER['SCRIPT_FILENAME']); if ( strpos($string, 'upcoming-events') !== false ){ echo "class='active'"; }else{ echo "class='nactive'"; } ?> ><a href="http://69.65.3.168/~doubleop/pro.sperity/upcoming-events-news">Upcoming Events &amp; News</a>
    </li>
        <li <?php $string = basename($_SERVER['SCRIPT_FILENAME']); if ( strpos($string, 'mentorship-program') !== false ){ echo "class='active'"; }else{ echo "class='nactive'"; } ?> ><a href="http://69.65.3.168/~doubleop/pro.sperity/mentorship-program">Mentorship Program</a>
    </li>
        <li <?php $string = basename($_SERVER['SCRIPT_FILENAME']); if ( strpos($string, 'about-us') !== false ){ echo "class='active'"; }else{ echo "class='nactive'"; } ?> ><a href="http://69.65.3.168/~doubleop/pro.sperity/about-us">About us</a>
        <ul>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/about-us/mission-statement">Mission Statement</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/about-us/management-team">Management Team</a></li>
            <li><a href="http://69.65.3.168/~doubleop/pro.sperity/about-us/contact">Contact</a></li>
        </ul>
</ul>

(代码显示得很奇怪,但你明白了)

我尝试回显 script_filename,每个页面上都是 index.php。

有人知道我该怎么做吗?当用户在相关页面或父页面下的任何相关子页面上时,我需要保持活动状态

谢谢

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    $_SERVER['SCRIPT_FILENAME'] 在每个页面上都是相同的,因为 Wordpress 将所有页面定向到相同的脚本进行处理。

    如果您想在 URI 中搜索特定字符串,请尝试改用 $_SERVER['REQUEST_URI'];无论正在执行哪个脚本,它都会返回请求的 URI。

    另外,在提供的代码中,您将“inactive”拼错为“nactive”。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多