php - 传递给 PHP WordPress body_class 的 URL 参数值
问题描述
我希望将 URL 参数中的单个值作为一个类传递给页面正文。在这种情况下,URL 参数是utm_campaign
,我想将其值附加为 WordPress 中的正文类。
我觉得我离开的地方是设置过滤器。感谢您提供任何帮助,并且由于我正在学习,如果您能解释一下,那就更好了。谢谢!
<?php
$utm_campaign = false;
if(isset($_GET['utm_campaign'])){
$utm_campaign = $_GET['utm_campaign'];
}
function wp_body_classes( $classes ) {
$classes[] = 'utm_campaign';
return $classes;
}
add_filter( 'body_class','wp_body_classes' );
?>
解决方案
I just tested this code out with my WP site and it worked fine. The only edit is to move your $_GET conditional logic to inside your action hook.
Also, as @SallyCJ pointed out, you probably want to include the utm-campaign name as a class. So this will add a generic 'utm_campaign' class and the dynamic $utm_campaign
class since you might have common styles for all UTM campaign landing pages.
<?php
function wp_body_classes( $classes ) {
if(isset($_GET['utm_campaign'])){
$classes[] = 'utm_campaign';
$classes[] = $_GET['utm_campaign'];
}
return $classes;
}
add_filter( 'body_class','wp_body_classes' );
?>
推荐阅读
- javascript - 在html表的父行下生成子行
- javascript - Need Help Array for loop If else statement
- azure - 是否可以在没有 azure 平台的情况下创建聊天机器人(使用 microsoft bot 平台和 luis)
- android - 如何从代码中为 MaterialButton 设置文本颜色?
- c++ - 我可以计算多线程数的平均值吗?
- vue.js - 在 Sails 应用程序中加载后访问 Vue 中的对象属性
- three.js - 如何在threejs中为canvasTexture正确设置画布大小
- autodesk-forge - 如何在 forge-viewer 中从最新版本的 three.js 添加几何图形?
- node.js - 如何在nodejs 8.10v中将参数传递给事件对象aws lambda函数
- facebook - 客户聊天插件不会触发“开始”按钮回发