我正在尝试修改其中的一部分代码:主题/ 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);
评论前必须登录!
注册