抱歉,如果这是一个愚蠢的问题,但我对php和wordpress开发相对较新。
我正在编写一个带有自定义帖子类型(课程)的插件,其中父页面是课程概述,子页面是课程。
现在,我的目标是替换侧栏的内容。如果页面是父cpt,则应显示侧栏a的内容。如果页面是子cpt,则应显示侧栏B的内容。
所以我要做的是停止加载普通主题侧栏的小部件,并用侧栏a或b中的小部件替换它们。
I was able to:
- create a dropdown in the backend, where the sidebar which should be replaced can be selected.
- register two new sidebars (在design>;widgets中)(带有register\\u侧栏)
- check if the page is a parent cpt or a child ctp
if(单数(\'courses\')&&$发布->;post\\u父级(&U)&;是活动的\\u侧边栏(\'课程侧边栏\')还是if(是单数(\'课程\')&&$发布->;post\\u父级(&U)&;是否处于活动状态\\u侧栏(“课程概述侧栏”)
But what I do not understand is, how to tell WordPress to stop loading the widgets from the normal sidebar, but from one of the new sidebars!?
我尝试了很多方法,并认为我找到了一个解决方案,在之前使用dynamic\\u sidebar\\u注入小部件,然后使用“停止渲染普通侧栏”;退出“;,但这会导致不必要的问题(例如,移动菜单不再可见等)
顺便说一下:我需要独立于主题的解决方案:)
我真的希望有人能帮助我!提前非常感谢!顺致敬意,蒂奥塔