Php 显示/隐藏自定义WordPress菜单

Php 显示/隐藏自定义WordPress菜单,php,html,css,wordpress,Php,Html,Css,Wordpress,我正在使用一个自定义的HTML CSS菜单,我喜欢在WordPress主题上使用它。由于我不知道如何从后端使其工作(根本不知道),所以我试图在借助页面标题访问其页面时隐藏菜单项 我发现$single\u post\u title是WordPress中的页面标题。因此,我尝试使用以下代码隐藏菜单项。我也把它用在其他菜单项上 <?php $port = "Portfolio"; if ($port != $single_post_title) { $port =

我正在使用一个自定义的HTML CSS菜单,我喜欢在WordPress主题上使用它。由于我不知道如何从后端使其工作(根本不知道),所以我试图在借助页面标题访问其页面时隐藏菜单项

我发现
$single\u post\u title
是WordPress中的页面标题。因此,我尝试使用以下代码隐藏菜单项。我也把它用在其他菜单项上

<?php
    $port = "Portfolio";
    if ($port != $single_post_title) {
        $port = "Portfolio";
} else {
?>
   <style type="text/css">
       #portfolio{
       display:none;
}  </style>
<?php 
}
?>

#投资组合{
显示:无;
}  
菜单代码:

 <div class="col-md-9" class="fancymenu"> 
    <a id="#portfolio" href="/Portfolio/"><?php echo $port ?></a>
    <a id="#about" href="/About-Me/"><?php echo $about ?></a>
    <a id="#contact" href="/Contact-me/"><?php echo $contact ?></a>
 </div>

当我继续使用它时,有时它会隐藏(用==替换!=时),有时则不会

我希望有人能帮我解决这个问题


谢谢你

如果你不介意的话,我将对你的代码进行一些分析(别担心,这是为了帮助你!)

有两个问题你正在处理(并且将要处理)。首先,如果你要使用它,我会认真考虑在WordPress生态系统中坚持,除非你要用它。 除此之外,让我们继续。一般来说,您不应该依赖于当前范围中未定义的变量。谁知道
$single\u post\u title
是在哪里定义的,或者它是否是

WordPress有一些命名相对“很好”的PHP函数,可以与帖子和页面交互(其中许多函数将在Google中显示为“在WordPress中获取当前页面标题”之类的搜索的第一个结果)

获取页面/帖子标题的标准方法是使用函数

另一个问题是,在一些CSS中加载以隐藏某个元素是相当混乱的。如果您可以访问该元素的源代码,只需有条件地跳过该元素即可

最后,一般来说,身份证不需要(或者更确切地说,不应该有)一个英镑的标志。针对它们的语言将为您提供这些信息。另外要考虑的是你的硬编码<代码> HREF 属性有大写字母,就像是“代码> SLUG < /代码>和<代码>标题< /代码>的组合。我要澄清事实

根据我的想法,我将删除您拥有的第一块代码,并用以下代码替换菜单代码:

<?php $current_page_title = get_the_title();
    echo '<div class="col-md-9" class="fancymenu">';
        if( $current_page_title != 'Portfolio' ) echo '<a id="portfolio" href="/Portfolio/">Portfolio</a>';
        if( $current_page_title != 'About Me' ) echo '<a id="about" href="/About-Me/">About Me</a>';
        if( $current_page_title != 'Contact Me' ) echo '<a id="contact" href="/Contact-me/">Contact Me</a>';
    echo '</div>';
?>

通过一个简单的循环,您可以更轻松地进行维护:

<?php
    // Get the current Page Title
    $current_page_title = get_the_title();

    // Define our Pages as an Array
    $pages = array( 'Portfolio', 'About Me', 'Contact Me' );

    // Loop through that array
    foreach( $pages as $page ){
        if( $current_page_title != $page ){
            // In here, it means the "page" from the array isn't the "current page"
            // that's being viewed, so echo out the item.
            echo '<a id="'. sanitize_title( $page ) .'" href="'. sanitize_title( $page ) .'">'. $page .'</a>';
        }
    }
?>

请注意,当前的循环将用
关于我
替换您的ID,如
关于


<> P>所以,现在你已经阅读了所有这些东西——我真的会考虑学习WordPress功能是如何工作的,因为该功能为你处理所有这些东西,并且将使将来的网站维护更加容易。您当前的方法更像是一个HTML/PHP模板,它仅使用WordPress作为CMS来管理页面/帖子内容,除非经过设计,否则以后可能会变得很麻烦。

谢谢!这是迄今为止我在网上得到的最好的支持。你对我的帮助超出了你的想象!!!学到了很多&非常感谢。我能给你寄张iTunes卡或其他东西来感谢你的支持吗?祝你愉快!虽然我确实有一个科菲链接埋在某个地方,但不要觉得有必要为这个答案付钱给我——这几乎不值得。我会得到更多的乐趣,只要多一个人开始作为一个开发人员!如果您需要任何进一步的帮助或需要额外的资源,请随时联系!找到你的Kofi链接后一定要寄给我!谢谢:)