wordpress 如何使WP-Shopify只在某些页面上工作

j1dl9f46  于 2023-02-03  发布在  WordPress
关注(0)|答案(2)|浏览(103)

我想知道是否有人可以帮助我编辑WordPress中的wpshopify/wp-shopify.php。我的目标是使Shopify插件在某些页面上工作,而不是在其他页面上运行。所以,例如,我希望插件在[shop]页面上工作,而不是[about us]页面。我见过一些“插件组织者”,但不幸的是,我不能使它工作。
有没有人有经验或知道如何做到这一点?

2o7dmzc5

2o7dmzc51#

如果你想在WordPress中管理插件的样式和JavaScript,以便在任何页面上你只想被加载和使用,我建议使用以下插件。

  • WordPress资源管理器,出队脚本,出队样式
  • 冈萨雷斯WP
  • 停用每页插件

但是如果你想写一个你可以管理的条件,只有当你想让它像一个特定的页面一样工作时,它才意味着一个特定的插件。为此,你需要知道插件的确切名称,然后使用插件管理函数来完成。

brgchamk

brgchamk2#

我写了这段代码并测试了它,它工作正常。
在这段代码中,我首先检查post ID,是page还是post或者其他类型的post。
然后禁用所有插件样式和脚本,并删除附加到主体的类
最后,我删除了一个在类中创建的新元素以显示插件根。
将此代码放入functions.php文件中

function disble_shopwp_pages()
{

    $post_id_array = array(
        218, 433, 71, 2066, 825, 7, 2009, 2284, 420, 2402, 2394,
    );

    if (in_array(get_the_ID(), $post_id_array)) {

        return true;
    }

}

function remove_wpshopify()
{

    if (disble_shopwp_pages()):

        wp_dequeue_style('shopwp-styles-frontend-all');
        wp_deregister_style('shopwp-styles-frontend-all');
        wp_dequeue_script('shopwp-runtime');
        wp_dequeue_script('shopwp-vendors-public');
        wp_dequeue_script('shopwp-public');

    endif;
}

add_action('wp_enqueue_scripts', 'remove_wpshopify', 9999);

function wpshopify_body_class($classes)
{

    if (disble_shopwp_pages()) {
        unset($classes[array_search('shopwp', $classes)]);
    }

    return $classes;
}

add_filter('body_class', 'wpshopify_body_class', 999, 2);

function remove_shopwp_root_elements()
{

    if (disble_shopwp_pages()) {

        echo '<script>
                    jQuery(document).ready(function () {
                            jQuery("#shopwp-root").remove();
                    });
                  </script>';

    }
}

add_action('wp_footer', 'remove_shopwp_root_elements');

相关问题