我的目标是 Select 当前的WooCommerce排序选项,例如websitename.com/?orderby=popularity,并将当前的查询 Select 设置为body类.(理想情况下是body class="popularity").

在下面的示例中,我使用if/elseif语句.我试着用一个switch 操作器以及简单地使用global $orderby.我还没有找到任何关于这个问题的例子,感觉很困,所以我很感谢任何帮助.

非常感谢.以下是我当前的文档:

add_filter( 'body_class', 'gaz_wc_sorting_as_body_class' );

function gaz_wc_sorting_as_body_class( $class ){

    $orderby_value = $_GET['orderby'];

    if ($orderby_value === 'popularity') {
        array( ' popular '  => $class);
    } elseif ($orderby_value === 'date') {
        array( ' recent '  => $class);
    } elseif ($orderby_value === 'price') {
        array( ' cost-lo-hi '  => $class);
    } elseif ($orderby_value === 'price-desc') {
        array( ' cost-hi-lo '  => $class);
    } else {
        array( 'sort-clear '  => $class);
    }
    return $class;
}

推荐答案

您可以将类名推送到$classarray.您可以使用array_push函数.请try 以下代码.

function gaz_wc_sorting_as_body_class( $class ){

    $orderby_value = $_GET['orderby'];

    if ( $orderby_value === 'popularity' ) {
        array_push( $class, 'popular' );
    } elseif ( $orderby_value === 'date' ) {
        array_push($class, 'recent');
    } elseif ( $orderby_value === 'price' ) {
        array_push($class, 'cost-lo-hi');
    } elseif ( $orderby_value === 'price-desc' ) {
        array_push($class, 'cost-hi-lo');
    } else {
        array_push($class, 'sort-clear');
    }
    
    return $class;
}
add_filter( 'body_class', 'gaz_wc_sorting_as_body_class' );

Php相关问答推荐

为什么注册SIGHUP的处理程序函数会阻止在PHP CLI中等待输入时点击X关闭Xterm窗口?""

PHP Perl正则表达式—URL前面没有等号和可能的单引号或双引号

在php中有没有办法比较两个包含相同枚举类型的枚举数组

为什么正则表达式与得到的文本块之前得到的也行?

SendGrid响应PHP

将下拉 Select 的值从WooCommerce后端保存并显示到前端

Symfony5:如何在不登录的情况下使API路由可访问?

删除了数组中的值,而不是多个数组

如何从Laravel中的Spatie\Dns\Records\A对象中提取IP地址

如何在微软图形API中使用用户S访问令牌或基于租户ID的访问令牌?

根据WooCommerce中的自定义用户元数据值更改用户角色

Shopware 6 插件:如何删除/迁移布尔配置到多选配置

在 PHP 中将字符串分解为数组(字符串类似于 WP 短代码)

关于Laravel缓存出现的错误

有没有办法获取触发流操作的页面的 URI?

如何使用不同的方法编写嵌套连接查询并将两列连接成一列在 laravel 查询生成器中

如何在WooCommerce管理产品列表中显示运输类别列

将 HTML 表单链接到 SQLite 数据库

如何将数字文本文件添加到 PHP 数学方程式中?

按数字然后按字符串对关联 PHP 数组进行排序