添加/编辑具有特定模板类型的页面时,Wordpress 自定义元框
我知道如何向页面添加自定义字段就好了。但是,我希望我的元框仅在用户选择模板“Foo”(文件名“foo.php”)后才出现。我在管理部分加载了 jQuery,但我没有成功地尝试将自定义类添加到保存元框的容器中。
注意:我不想通过元框 div 的 ID 进行选择,因为将会有几个隐藏的元框,并且如果没有分配类,我将无法一次隐藏所有元框(因此是我的问题)。
I know how to add custom fields to pages just fine. However, I would like my meta box to only appear once the user has selected the template "Foo" (filname "foo.php"). I have jQuery loaded on the admin section but I have had no luck in trying to add a custom class to the container that holds the meta box.
Note: I do not want to select by the ID of the meta box div because there are going to be several hidden meta boxes and I will have no way of hiding all of them at once without a class assigned (hence my problem).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这不是一个完整的解决方案,但可能会让您朝着正确的方向开始:
在显示元框的代码中,您可以使用 get_post_meta 函数来获取有关当前页面正在使用哪个模板的信息。像这样的事情:
这样做的缺点是用户必须首先选择模板,然后保存页面一次,以便使用正确的设置重新加载管理页面。
否则,我认为您描述的使用 jQuery 以某种方式隐藏元框的解决方案是最好的方法。
祝你好运
This is not a complete solution, but might get you started in the right direction:
In the code which are displaying the meta box, you can use the get_post_meta function to get information about which template the current page is using. Something like this:
The downside of this is that the user must choose template first, then save the page once in order to make the admin page reload with the right settings.
Otherwise I think the solution you describe using jQuery somehow to hide the meta boxes is the best way to do it.
Good luck
我的解决方案是在每个自定义元框中创建一个 div,然后使用 jquery 隐藏这些 div 的所有父元素。
My solution to this was to create a div in each custom meta box and then use jquery to hide all of the parent elements of those divs.