个性化阅读
专注于IT技术分析

Woocommerce的Flatsome:INC文件夹中的Annul文件

我正在尝试修改其中的一部分代码:主题/ flatsome / inc /简码/ux_products.php

我要更改此:

<a href="<?php echo get_the_permalink(); ?>">

为了这

<a href="<?php echo get_the_permalink(); ?>" aria-label="<?php echo get_the_title(); ?>">

我的子主题文件夹中的路径和文件相同, 但无法取消主主题文件。

我意识到, 还有另一个文件指向我要取消的文件:主题/flatsome/inc/init.php:

if (is_woocommerce_activated()) {
  require get_template_directory() . '/inc/shortcodes/ux_products.php'; //File to annul
  require get_template_directory() . '/inc/shortcodes/ux_products_list.php';
  require get_template_directory() . '/inc/shortcodes/product_flip.php';
  require get_template_directory() . '/inc/shortcodes/product_categories.php';
  if(get_theme_mod('product_layout') == 'custom') {
    require get_template_directory() . '/inc/shortcodes/custom-product.php';
  }
}

如何在不修改主题的情况下执行此操作(此方法有效, 但是不正确)。


#1


你可以尝试将其添加到子主题的functions.php中吗:

add_filter( 'template_directory', 'search_child_template_directory' );
function search_child_template_directory( $template_dir ) {
    if (is_woocommerce_activated()) {
        return get_theme_file_path();
    }
    return $template_dir;
}

#2


首先, 你需要将需要修改的简码复制到你的子主题。

'your_child_theme/inc/shortcodes/ux_products.php'

然后, 你需要修改子短代码, 函数名称:

function ux_products($atts, $content = null, $tag)

to

function child_ux_products($atts, $content = null, $tag)

修改你需要的内容:

<a href="<?php echo get_the_permalink(); ?>">

to

<a href="<?php echo get_the_permalink(); ?>" aria-label="<?php echo get_the_title(); ?>">

在子简码文件的末尾, 使用自己的函数覆盖所有(或仅需要的)已声明的简码:

add_shortcode("ux_products", "ux_products");

to

add_shortcode("ux_products", "child_ux_products");

覆盖所有简码:

add_shortcode("ux_bestseller_products", "child_ux_products");
add_shortcode("ux_featured_products", "child_ux_products");
add_shortcode("ux_sale_products", "child_ux_products");
add_shortcode("ux_latest_products", "child_ux_products");
add_shortcode("ux_custom_products", "child_ux_products");
add_shortcode("product_lookbook", "child_ux_products");
add_shortcode("products_pinterest_style", "child_ux_products");
add_shortcode("ux_products", "child_ux_products");

最后, 在你的function.php或’/inc/init.php’中, 当wp_loaded时, 你需要使用覆盖的短代码:

function override_shortcodes(){
  if(is_woocommerce_activated()){
    require get_stylesheet_directory() . '/inc/shortcodes/ux_products.php';
  }
}
add_action('wp_loaded', 'override_shortcodes', 10);
赞(0)
未经允许不得转载:srcmini » Woocommerce的Flatsome:INC文件夹中的Annul文件

评论 抢沙发

评论前必须登录!