【问题标题】:wordpress: how to check if the slug contains a specific word?wordpress:如何检查 slug 是否包含特定单词?
【发布时间】:2012-01-08 00:56:02
【问题描述】:

我正在尝试使用条件语句来检查两个词(博客和新闻)中是否出现在 slug 中。如果出现一个,我将显示一个菜单,如果另一个则显示其对应的菜单。

【问题讨论】:

  • 你为什么不使用类别呢?我的意思是 slug 由页面标题或您指定的任何 slug 控制。那么为什么要使用front-end(蛞蝓)而不是更易于访问的back-end(类别/页面名称)?另外,要获得体面的答案,请提出真正的问题!你尝试了什么,你想知道它是否可能,你想要代码还是什么......
  • 另外你想用什么语言来做呢?我回答了一个 PHP 示例,但 javascript 也可以做到这一点。
  • 我正在使用类别,我还使用插件来运行两个“索引”页面,所以我不能使用 category-slug.php 模板或任何类似的东西。这就是为什么我用更笼统的术语来表述这个问题。谢谢。

标签: wordpress slug


【解决方案1】:
slugContainsBlog = "blog"
if(window.location.href.indexOf(slugContainsBlog) > -1) {
   //Contains Blog
}

slugContainsNews = "news"
if(window.location.href.indexOf(slugContainsNews) > -1) {
   //Contains News
}

这是一个 javascript 版本。

您可以在此处了解有关 indexOf 的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf

【讨论】:

    【解决方案2】:

    使用 PHP:

    $url = $_SERVER["REQUEST_URI"];
    
    $isItBlog = strpos($url, 'blog');
    $isItNews = strpos($url, 'news');
    
    if ($isItBlog!==false)
    {
        //url contains 'blog'
    }
    if ($isItNews!==false)
    {
        //url contains 'news'
    }
    

    http://www.php.net/manual/en/function.strpos.php

    【讨论】:

    • 如果测试可能看起来很奇怪,但是根据手册页:“此函数可能返回布尔值 FALSE,但也可能返回计算为 FALSE 的非布尔值,例如 0 或“”。有关更多信息,请阅读有关布尔值的部分。使用 === 运算符来测试此函数的返回值。"
    猜你喜欢
    • 2017-11-10
    • 1970-01-01
    • 2016-08-19
    • 2011-10-28
    • 2011-05-20
    • 2013-12-23
    相关资源
    最近更新 更多