php - 在 Woocommerce 中移动设备上的图片库上方移动标题和评级

标签 php wordpress woocommerce custom-wordpress-pages woocommerce-theming

我正在尝试将我的标题和评级移至 woocommerce 中的图片库上方,但仅限于移动设备。 桌面版本应保持不变。

我发现了一个php代码,我将其粘贴到主题的functions.php中,它完成了这项工作,但它也将它们移动到桌面上。

有什么方法可以仅在移动设备上运行此 php 代码吗?

function product_change_title_position() {
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
    add_action( 'woocommerce_before_single_product', 'woocommerce_template_single_title', 5 );
}

add_action( 'init', 'product_change_title_position' );

function product_change_rating_position() {
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
    add_action( 'woocommerce_before_single_product', 'woocommerce_template_single_rating', 5 );
}

add_action( 'init', 'product_change_rating_position' );

谢谢
瓦伊巴夫

最佳答案

Wordpress 提供了一个名为 wp_is_mobileDocs 的函数,它允许您执行您正在寻找的操作:

add_action('init', 'product_change_title_position');

function product_change_title_position()
{
    if (wp_is_mobile()) 
    {
        remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 5);
        add_action('woocommerce_before_single_product', 'woocommerce_template_single_title', 5);
    }
}

add_action('init', 'product_change_rating_position');

function product_change_rating_position()
{
    if (wp_is_mobile()) 
    {
        remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10);
        add_action('woocommerce_before_single_product', 'woocommerce_template_single_rating', 5);
    }
}

注意:

  • “它通过检测浏览器用户代理字符串 ($_SERVER[‘HTTP_USER_AGENT’]) 来工作。”
  • “对于平板电脑,此函数将返回 true,因为它也被视为移动设备。它不能替代 CSS 媒体查询或每个平台的样式。”

关于php - 在 Woocommerce 中移动设备上的图片库上方移动标题和评级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70554087/

相关文章:

javascript - 单击某个项目后加载帖子详细信息页面

jquery - 整页水平滚动内容

pagination - Woocommerce 简码分页

php - 在 linux 中升级 OpenSSL 后,php 中的 OpenSSL 和 curl 不更新

php - 将登录或注册链接移动到标题导航中的顶部链接 - Magento

php - 返回 Laravel 中的父模型列

php - codeIgniter 使用 mysql_real_escape_string() 代替。数据库连接问题

wordpress 站点中事件菜单项上的 CSS

wordpress - 如何让特定的支付网关在 woocommerce 上免费送货

html - 将一个 div 的价格放在另一个 div 之上