Stack Overflow en español Asked by Oscar Rios on November 13, 2021
estoy atorado modificando una página de producto de Woocommerce en WordPress porque quiero ordenar la información que muestra y ponerla en una tabla
por ejemplo:
Precio USD | Precio MXN | Cantidad
pero no puedo poner dentro de la tabla la funcion add_action
esto es lo que tengo:
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_custom_content', 32 );
function woocommerce_template_custom_content(){
echo "<table>";
echo "<tr>";
echo " <th>Precio USD</th>";
echo " <th>Precio MXN</th>";
echo " <th>Cantidad</th>";
echo "</tr>";
echo "<tr>";
echo "<td>. add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 1); .</td>";
echo "<td> $ 0.00 MXN</td>";
echo "<td> Cantidad 1 </td>";
echo "</tr>";
echo "</table>";
}
Lo tengo en functions.php
Ayuda porfa!!!! que estoy haciendo mal?, o como se debe de llamar a esta función? de antemano muchas gracias a todos!!!!
add_action()
se usa para asignar una función a un evento y siempre devuelve verdadero, por eso aparece 1
en la tabla.
Entonces debes crear la función para que sea ejecutada cuando se lanza el evento:
add_action( 'evento', 'nombre_funcion', 1, [$params]);
Donde $params
es la cantidad de parámetros que debe recibir la función, si es que los va a recibir.
Cuando necesites que se ejecute incluyes el siguiente código:
do_action('evento', [$param1, $param2, ... $paramX]);
Estás agregando add_action(...)
como cadena, sin llamar realmente a la función:
echo "<td>. add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 1); .</td>";
Tienes cerrar las comillas y agregar punto entre cada elemento que quieras concatenar:
"inicio" . funcion('parametros') . "fin de cadena";
Función corregida, lanzando el evento:
function woocommerce_template_custom_content(){
echo "<table>";
echo "<tr>";
echo " <th>Precio USD</th>";
echo " <th>Precio MXN</th>";
echo " <th>Cantidad</th>";
echo "</tr>";
echo "<tr>";
// do_action, en vez de add_action
echo "<td>" . do_action( 'woocommerce_single_product_summary') . "</td>";
echo "<td> $ 0.00 MXN</td>";
echo "<td> Cantidad 1 </td>";
echo "</tr>";
echo "</table>";
}
Answered by Triby on November 13, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP