WordPress 无法从侧边栏文件获取页面 ID?

发布于 2024-10-17 13:49:21 字数 212 浏览 1 评论 0原文

我需要根据页面 ID 以不同方式突出显示某些菜单项,因此当我在顶部调用侧边栏时,我会看到此

<?php if( is_page('my-page') )echo 'my-page';?>

回显只是为了让我看看它是否正常工作... 但是,事实并非如此。我将相同的代码放入主页模板中,它输出是,我在该页面上。侧边栏不起作用的任何原因?

I need to highlight some menu items differently depending on the page ID and so when I call the sidebar up top I have this

<?php if( is_page('my-page') )echo 'my-page';?>

The echo is just for me to see if it is working...
But, it is not. I put the same code into the main page template and it outputs yes I am on that page. Any reason why the sidebar would not work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

奢望 2024-10-24 13:49:21

来自 is_page

不能在循环内部使用

此标签必须在循环之前使用,并且不起作用在循环内部

由于某些全局变量在循环期间被覆盖,is_page() 将不起作用。为了在循环之后使用它,您必须在循环之后调用 wp_query_reset()。

也许这就是您遇到问题的原因?

From is_page :

Cannot Be Used Inside The Loop

This tag must be used BEFORE The Loop and does not work inside The Loop

Due to certain global variables being overwritten during The Loop is_page() will not work. In order to use it after The Loop you must call wp_query_reset() after The Loop.

Maybe this is why you're experiencing problems ?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文