Pregunta sobre Arreglando WordPress de Wordpress:

Violación de una función primordial

Un usuario preguntó 👇

¡Hola!

Estaba buscando en los foros, pero no encuentro nada directamente relacionado con mi consulta (y es más difícil navegar por los foros hoy en día).

Estoy usando un tema de Mikado llamado Cortex y woocommerce. Están usando una función para anular la insignia normal de «agotado» y, como puede ver belo2, anulan el texto de «agotado» a simplemente «vendido». Siento que esto es engañoso.

Ahora sé que puedo cambiarlo en el archivo de funciones del tema y esperar a que se actualice el tema para eliminarlo, pero no es óptimo, así que estoy buscando otra solución.

Quería obtener una función (porque no soy experto en php, desafortunadamente) que anule el texto infractor a «agotado» o devuelto a «agotado», sin cambiar nada más con la insignia.

if (!function_exists('cortex_mikado_woocommerce_out_of_stock_flash')) {
	/**
	 * Function for overriding Out of Stock badge
	 *
	 * @return string
	 */
	function cortex_mikado_woocommerce_out_of_stock_flash() {

		global $product;
		$availability = $product->get_availability();

		if ( !$product->is_in_stock() && WC_Admin_Settings::get_option( 'woocommerce_notify_no_stock')=='yes') {
			print apply_filters( 'woocommerce_stock_html', '<span class="mkdf-product-badge mkdf-out-of-stock ' . esc_attr( $availability['class'] ) . '"><span class="mkdf-product-badge-inner mkdf-out-of-stock-inner">' . esc_html__('Sold', 'cortex') . '</span></span>', $availability['availability'] );
		}
	}

}

Tengo un plugin de función personalizado instalado, en lugar de un tema secundario, ya que casi no cambio nada más que CSS. ¿Es esta información suficiente para que alguien me ayude o debo proporcionar más?

¡Tuyo sinceramente!

Este tema fue modificado hace 1 año, 9 meses por.

(@phillipburger)

Hace 1 año, 9 meses

Podría sugerir buscar una forma de cambiarlo solo con jQuery en el frente, o usando un tema secundario. En realidad, esto puede ser más fácil para un niño en este caso, y está bien usar un tema hijo que no haga más que proporcionar funciones CSS y .php personalizadas para actualizaciones si es necesario.

Espero que empiece, pero avísame …

(@jcastaneda)

TEMA DEL CAFÉ DE MONO

Hace 1 año, 9 meses

Hola!

Entonces … quiero preguntar qué tipo de plugins de funciones personalizadas. ¿Es solo para PHP?

Pregunto sobre ese títere de código para ver si puedo ver una posible solución. Uno de ellos estaría usando el filtro woocommerce_stock_html con ese fin, aunque no estoy del todo seguro de que estén usando el filtro correcto. O_o

Sé que WooCommerce tiene muchos enlaces de actividad y filtros que también ayudarán. Tuve que buscar cuál ya que era irritante para mí ver eso. 😀

El filtro sería correcto woocommerce_get_stock_html

Podrías usar algo como esto:


add_filter( 'woocommerce_get_stock_html', function( $string, $product ) {
	// get this so we can use the class later.
	$avail = $product->get_availability();

	// return the markup that will be seen on the front-end.
	return sprintf( '<span class="mkdf-product-badge mkdf-out-of-stock %1$s">
		<span class="mkdf-product-badge-inner mkdf-out-of-stock-inner">
		%2$s
		</span></span>', $avail['class'], esc_html__( 'what you want to say', 'text-domain' ) );
}, 100, 2 );

Tenga en cuenta que el código funcionará para PHP versión 5.3 y superior. Espero que te ayude un poco. 🙂

(@lleno de pánico)

Hace 1 año, 9 meses

@jcastaneda ¡Gracias!

Probé tu sugerencia e incursioné un poco, pero no pude hacer que funcionara, así que hice lo que dijo @phillipburger y creé un tema secundario, solo copia y pega el texto cambio.

este es el plugin que utilizo regularmente para cambios de funciones. https://wordpress.org/plugins/my-custom-functions/

Gracias por tu ayuda, ¡que tengas un gran fin de semana!

(@phillipburger)

Hace 1 año, 9 meses

@panick – agradezco la respuesta. Creo que encontrará que incluso un tema súper simple para niños de todo el lugar ayudará. Tengo un tema secundario que creé y puse en un archivo ZIP, así que después de cargar un tema principal, simplemente subo ese archivo y voy al Editor para cambiar algunas líneas en el CSS vacío. Solo existe el archivo CSS y functions.php y luego todo lo demás actúa como si no existiera.

Cuando necesite la función CSS simple o sobrescribir, puede hacerlo fácilmente.

Si cree que el problema se ha resuelto, resuelva este ticket.

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *