这类似于How to add data- attribute to <body> tag 但不同的是,我现在正在寻找一种不需要修改模板文件的解决方案。
我需要向<body>
我无法修改php文件模板的页面集合中的标记。对于大多数人来说,我正在使用一个特定于主题的钩子,它工作得很好。还有其他一些不包含该挂钩。对于这些,我可以通过重写最终的标记来实现我的目标。。。插入属性后,使用的代码来自kfriend的答案https://stackoverflow.com/questions/772510/wordpress-filter-to-modify-final-html-output.
所以我有以下两种方法:
add_filter(\'theme_specific_hook\', \'main_way\');
和
add_filter(\'wp_footer\', \'alternate_way\');
每个的最终结果是
<body data-my-attr="MY VALUE" class="all-of the required-classes" ...>
这符合我的要求。问题是我没有办法告诉WP什么时候
NOT 运行第二个不太理想的过滤器。
我不知道这是否是一种不必要和/或过于复杂的解决方法,但更重要的是,我甚至不知道有条件地采取这两种方法中的一种是否是最有效的方法。
就最佳实践和/或可行性而言,是否有人对此方法有任何意见?关于如何将此属性/值插入到<body>
是否标记这些页面,而不考虑其模板?