WordPress如何过滤add_action钩子使其仅在指定页面执行
实现指定页面加载自定义CSS的方法
你可以通过WordPress内置的条件判断标签对钩子挂载逻辑做过滤,仅匹配到目标页面时才加载对应的自定义CSS,修改后的代码如下:
add_action( 'template_redirect', function() { // 仅匹配别名为documents的独立页面时加载自定义CSS if ( is_page( 'documents' ) ) { add_action( 'wp_head', 'betterdocs_customize_css' ); } } );
代码逻辑说明
- 外层使用
template_redirect钩子承载判断逻辑:该钩子触发时当前页面的所有类型参数已加载完成,条件判断不会出现失效问题 is_page()参数可灵活调整:- 传入页面数字ID,比如
is_page( 15 ),可匹配对应ID的独立页面 - 传入别名数组,比如
is_page( [ 'documents', 'help', 'faq' ] ),可同时在多个指定页面加载样式
- 传入页面数字ID,比如
- 如果你的
/documents路径是自定义文章类型归档页,将is_page( 'documents' )替换为is_post_type_archive( '自定义文章类型别名' )即可;如果是分类归档页则替换为is_category( '分类别名' )。
内容的提问来源于stack exchange,提问作者hevefig916
相关产品推荐
相关产品推荐

