wordpress:如何检查 slug 是不是包含特定单词?

Posted

技术标签:

【中文标题】wordpress:如何检查 slug 是不是包含特定单词?【英文标题】: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 模板或任何类似的东西。这就是为什么我用更笼统的术语来表述这个问题。谢谢。 【参考方案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 或“”。有关更多信息,请阅读有关布尔值的部分。使用 === 运算符来测试此函数的返回值。"

以上是关于wordpress:如何检查 slug 是不是包含特定单词?的主要内容,如果未能解决你的问题,请参考以下文章

如何将页面的slug添加到wordpress小部件中的链接

Wordpress:如何以编程方式创建帖子并在之前检查重复项

如何检查当前页面是不是是wordpress中的插件管理面板

如何更改wordpress中的slug?

Wordpress:如何在标签页面上获取标签的 slug

Wordpress - 如何通过 slug 获取自定义帖子类型?