He usado plantillas de woocommerce predeterminadas para tienda, carrito y página única. Tampoco he eliminado ningún gancho, pero tampoco recibo ningún mensaje. ¿Alguna idea?
add_action( 'woocommerce_before_single_product', 'Cusotm_wc_print_notices', 10 );
function Cusotm_wc_print_notices()
{
echo 'Hook is working fine';
}
Recibo este mensaje ‘Hook está funcionando bien’ pero no wc_print_notices();.
Reigel Gallarde
No estoy muy seguro de cuál es el problema. Su pregunta necesita más detalles. Dicho esto, ¿puede intentar agregar este código a su functions.php de su tema actual?
add_action( 'template_redirect', 'test' );
function test() {
wc_add_notice( __( 'Sorry there was a problem.', 'woocommerce' ), 'error' );
}
Déjame saber si hace algo.
ACTUALIZAR
Si tienes algo como esto:
add_action( 'woocommerce_before_single_product', 'Cusotm_wc_print_notices', 10 );
function Cusotm_wc_print_notices()
{
$notices = WC()->session->get('wc_notices');
print_r($notices);
}
no funcionará porque $notices
estará vacío una vez wc_print_notices()
se llama.
intenta cambiar la prioridad y obtendrás algo. Debería ser algo como esto:
add_action( 'woocommerce_before_single_product', 'Cusotm_wc_print_notices', 9 );
use prioridad por debajo de 10. Porque WooCommerce está usando 10.
add_action( 'woocommerce_before_single_product', 'wc_print_notices', 10 );
-
El código anterior muestra el mensaje de error “Lo sentimos, hubo un problema”. y funciona bien, pero no puedo mostrar wc_print_notices().
– Saroj Shrestha
23 de agosto de 2017 a las 7:47
-
en realidad, $avisos = WC()->sesión->get(‘wc_avisos’, array()); no muestra nada, cuando hago var_dump($notices), muestra => array(0) { }.
– Saroj Shrestha
23 de agosto de 2017 a las 7:52
-
cuando
wc_print_notices
se llama una vez, su$notices
No conseguirá nada porque todo se borrará.–Reigel Gallarde
23 de agosto de 2017 a las 8:05
-
puede obtenerlo antes de que se llame.
–Reigel Gallarde
23 de agosto de 2017 a las 8:05
-
ejemplo, intenta hacer
add_action( 'woocommerce_before_single_product', 'Cusotm_wc_print_notices', 9 );
y hacer$notices = WC()->session->get('wc_notices');
en el interiorfunction Cusotm_wc_print_notices(){}
. TENGA EN CUENTA que estoy usando 9 como prioridad.–Reigel Gallarde
23 de agosto de 2017 a las 8:11