我如何替换 wordpress 插件中的功能?

问题描述

我开始研究 wordpress 中的 action 和 filter。假设我想将 DIV 换行添加代码底部的 printif 输出中。我可以将所有这些代码复制到我的functions.PHP 中并编辑其中的一些代码吗?

defined( 'YITH_WOOCOMPARE' ) || exit; // Exit if accessed directly.

if ( ! class_exists( 'YITH_Woocompare_Frontend' ) ) {
    /**
     * YITH Custom Login Frontend
     *
     * @since 1.0.0
     */
    class YITH_Woocompare_Frontend {
public function __construct() {

            // Add link or button in the products list.
            if ( 'yes' === get_option( 'yith_woocompare_compare_button_in_product_page','yes' ) ) {
                add_action( 'woocommerce_single_product_summary',array( $this,'add_compare_link' ),35 );
            }
            if ( 'yes' === get_option( 'yith_woocompare_compare_button_in_products_list','no' ) ) {
                add_action( 'woocommerce_after_shop_loop_item',20 );
            }
            return $this;
        }

public function add_compare_link( $product_id = false,$args = array() ) {
            extract( $args ); // PHPcs:ignore

            if ( ! $product_id ) {
                global $product;
                $product_id = ! is_null( $product ) ? $product->get_id() : 0;
            }

            // Return if product doesn't exist.
            if ( empty( $product_id ) || apply_filters( 'yith_woocompare_remove_compare_link_by_cat',false,$product_id ) ) {
                return;
            }

            $is_button = ! isset( $button_or_link ) || ! $button_or_link ? get_option( 'yith_woocompare_is_button','button' ) : $button_or_link;

            if ( ! isset( $button_text ) || 'default' === $button_text ) {
                $button_text = get_option( 'yith_woocompare_button_text',__( 'Compare','yith-woocommerce-compare' ) );
                do_action( 'wpml_register_single_string','Plugins','plugin_yit_compare_button_text',$button_text );
                $button_text = apply_filters( 'wpml_translate_single_string',$button_text,'plugin_yit_compare_button_text' );
            }

            printf( '<a href="%s" class="%s" data-product_id="%d" rel="nofollow">%s</a>',$this->add_product_url( $product_id ),'compare' . ( 'button' === $is_button ? ' button' : '' ),$product_id,$button_text ); // PHPcs:ignore wordpress.Security.EscapeOutput.OutputNotEscaped
        }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)