Uno de mis estudiantes de curso premium tenía un requisito aparentemente simple. Su cliente no quería mostrar el «¿Qué es PayPal?«Texto (y enlace) en la página de pago. De hecho, ¿por qué enviar a los usuarios lejos del pago? ¿Y quién no sabe qué es PayPal hoy en día? Bueno, veamos cómo se hace esto a través de un simple «filtro», ¡pero esta vez me gustaría mostrarle un tutorial paso a paso! Déjame saber lo que piensas sobre esto en el comentario 🙂
1. Búsqueda de archivos de complemento de WooCommerce
Primero, tratamos de encontrar de dónde se genera este «qué es PayPal», generalmente una función PHP. De hecho, esto es lo que se muestra en el archivo WooCommerce incluye Gateways PayPal Class-WC-Gateway-Paypal.php:
/** * Get gateway icon. * @return string */ public function get_icon() { $icon_html = ''; $icon = (array) $this->get_icon_image( WC()->countries->get_base_country() ); foreach ( $icon as $i ) { $icon_html .= ''; } $icon_html .= sprintf( '' . esc_attr__( 'What is PayPal?', 'woocommerce' ) . '', esc_url( $this->get_icon_url( WC()->countries->get_base_country() ) ) ); return apply_filters( 'woocommerce_gateway_icon', $icon_html, $this->id ); }
2. ¡BOOM! La función es «filtrable»
WooCommerce nos da esto, para que podamos «filtrar» o «editar» el comportamiento de dicha función sin tener que anular los archivos centrales de WooCommerce:
return apply_filters( 'woocommerce_gateway_icon', $icon_html, $this->id );
3. Encontremos el código HTML que necesitamos filtrar
Ahora que sabemos que la función es editable a través de un gancho (filtro), descubrimos que el enlace «qué es paypal» se agrega por la variable $ icon_html.
$icon_html .= sprintf( '' . esc_attr__( 'What is PayPal?', 'woocommerce' ) . '', esc_url( $this->get_icon_url( WC()->countries->get_base_country() ) ) );
Tenga en cuenta el «. =»: Esto significa que $ icon_html se está concatenando al anterior $ icon_html, que contiene la imagen de PayPal:
$icon_html .= '';
4. Codifiquemos el fragmento de PHP: cómo eliminar «¿Qué es PayPal?» @ Verificar
Ahora que tenemos toda la información, comencemos a codificar. Eche un vistazo a los comentarios en el fragmento de PHP para ver si puede seguirme.
/** * @snippet WooCommerce Remove "What is PayPal?" @ Checkout * @how-to businessbloomer.com/woocommerce-customization * @sourcecode https://businessbloomer.com/?p=21186 * @author Rodolfo Melogli, Business Bloomer * @compatible WooCommerce 3.5.4 * @community https://businessbloomer.com/club/ */ add_filter( 'woocommerce_gateway_icon', 'bbloomer_remove_what_is_paypal', 10, 2 ); function bbloomer_remove_what_is_paypal( $icon_html, $gateway_id ) { if( 'paypal' == $gateway_id ) { $icon_html = ''; } return $icon_html; }
5. Resumen
Para resumir:
1) Estoy llamando al filtro con: add_filter (‘wooCommerce_gateway_icon’, …
2) Estoy creando mi función de anulación personalizada ‘bbloomer_remove_what_is_paypal’
3) Estoy pasando a la función dos variables: el html ($ icon_html) y el nombre de la puerta de enlace ($ gateway_id), ya que debemos asegurarnos de que los anulemos a través del filtro
4) Me aseguro de que esta sea la puerta de enlace de PayPal con el if> entonces entonces
5) Edito la variable $ icon_html, simplemente diciendo «basura en la anterior, usa la mía en su lugar»
6) devuelvo $ icon_html al sistema
Avíseme en los comentarios si este tutorial «extendido» ayuda 🙂