php-WordPress检查您是否在当前页面(不是菜单)上
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-WordPress检查您是否在当前页面(不是菜单)上,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1759字,纯文字阅读大概需要3分钟。
内容图文
![php-WordPress检查您是否在当前页面(不是菜单)上](/upload/InfoBanner/zyjiaocheng/663/fd0098a3a7f5492ebd3528f3985b5c21.jpg)
我正在创建一个类似于自定义菜单小部件的简短代码,但我是从下拉列表中选择页面,而不是在wordpress内创建菜单(我也在其中添加了颜色,因此我无法只需使用常规的wordpress菜单小部件).
到目前为止,还不错,这只是困扰我的一件事.我想检查我所在的页面是否与列表中的页面匹配(在实际页面上).我用谷歌搜索了一下,发现
$actual_link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
我可以获得当前所在的页面(在浏览器中看到的链接).完善!
因此,如果要添加一个称为当前页面的类,只需查看$actual_link是否与下拉列表中选择的链接相匹配.
我正在页面扩展插件The Creator中工作,因此我知道如何在其中创建有效的简码.我的页面下拉列表是通过创建一个数组来创建的,该数组将页面url作为键并将页面名称作为值.我的循环是:
$args = array (
'post_type' => 'page',
'posts_per_page' => -1,
'orderby' => 'menu_order',
'order' => 'ASC',
);
$pages = get_posts($args);
$forms = array();
if(is_array($pages)){
foreach ($pages as $page) {
$forms[$page->url] = $page->post_title;
}
}
而且效果很好.除了我从中获得的url的形式为:
http://www.example.com/?page_id=150
鉴于我将永久链接设置为不错,因此浏览器中的实际链接为
http://www.example.com/my_page_name
该ID是正确的,如果我单击“菜单”链接,我将转到该页面(所需结果).但是现在我不能只是说:
$current = ($actual_link == $link) ? 'current_page' : '';
其中$link是用于保存下拉列表中指向页面的链接的变量,因此我可以将其附加到列表中,以检查自己是否在当前页面上(添加current_page类).我需要出于样式目的的此类-如果我在具有此菜单简码的页面上,则在与该页面匹配的链接旁边,我将得到V形符号(>).
所以我的问题是,无论我使用什么永久链接设置,如何获取匹配的URL?有没有一种方法可以在get_posts()查询中或使用$_SERVER []变量来指定?
我正在尝试避免使用javascript,并在服务器端执行所有操作.
解决方法:
您需要将get_the_ID()放在get_permalink()内,它将返回您必须与$actual_link匹配的链接
$link = get_permalink(get_the_ID());
这样的事情.
内容总结
以上是互联网集市为您收集整理的php-WordPress检查您是否在当前页面(不是菜单)上全部内容,希望文章能够帮你解决php-WordPress检查您是否在当前页面(不是菜单)上所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。