cybmeta
Respuestas de foro creadas
-
Foro: WordPress Avanzado
En respuesta a: Sistema de enrutamiento para WordPress¿Cuáles son esas necesidades que van más allá del Rewrite API? Imprescindible conocerlas para opinar.
Aunque de los tres que has puesto, si la preocupación es el mantenimiento, yo me iría con roots.io
Foro: Guías – Resolución de problemas
En respuesta a: Preferencias de privacidadWordPress no tiene ese tipo de aviso, te lo ha debido meter alguno de los plugins que tengas instalados.
Foro: Multisitio
En respuesta a: CMS para sitio web de noticiasAunque bueno, también te puedo dar ejemplos de WordPress con un par de visitas diarias de sus propietarios y que petan. Depende de muchos factores, sobre todo de quien desarrolle y administre el sitio.
Foro: Guías – Resolución de problemas
En respuesta a: Problema con indexación al cambiar de nombrePara mí es muy sencillo:
– Si el contenido de la URL antigua pasa a una URL nueva, es decir, es un cambio de ubicación, haz una redirección 301 desde la URL antigua a la nueva. Las reglas que puso @gwannon te pueden valer (en la mayoría de los casos, si no te valen vuelve y probamos otras).
– Si la URL nueva representa la ubicación de un contenido completamente distinto y la URL/contenido antiguo simplemente no existe más, el error 404 es la respuesta válida. Y que Google te diga lo que quiera. No quieres una URL/contenido que no existe dando una respuesta que no sea 404.
Foro: Multisitio
En respuesta a: CMS para sitio web de noticiasSi buscas Open Source, creo sinceramente que WordPress es la mejor opción que tienes. Sin duda. Te puedo dar varios ejemplos con decenas/cientos de millones de visitas mensuales. Yo personalmente recibo (poco más) de un millón de visitas mensuales en un VPS muy normalito y baratito. Y mira mis resultados de velocidad (que no es lo mismo que optimización) en PageSpeed Insights → http://bit.ly/2xknUQO
No me siento cómodo dando los nombres de los sitios en público, pero te los doy por privado para que los investigues si quieres.
A quién te diga esas cosas que te lo demuestre, que te de datos. El tiempo de las palabras ya pasó. 🙂
Foro: Guías – Resolución de problemas
En respuesta a: mi dashboard se ha vuelto locoSi no existe el tema activo, WordPress toma automáticamente uno predeterminado, a no ser que los temas predeterminados hayan sido borrados, por eso nunca se deben borrar aunque veas por ahí algunos sitios que lo recomiendan. Haz como te dice @almendron, descarga WordPress y restaura los temas predeterminados. Yo incluso iría más allá y restauraría todos los archivos del core de WordPress.
Y el último mensaje sobre wp-config.php ….. raro raro. La primera vez que veo algo parecido.
Me cuesta mucho creer que esto te haya sucedido de la noche a la mañana sin haber tocado nada. Es probable que se haya hecho algo, en WordPress o en el servidor, de lo que no eres consciente. ¿Has contactado con tu proveedor de hosting?
Foro: Guías – Resolución de problemas
En respuesta a: mi dashboard se ha vuelto locoSi quitas la carpeta del theme que tenías activo o le cambias el nombre a la carpeta, WordPress tomará uno de los que trae predeterminados de forma automática. Prueba a ver.
Entiendo que no tengas copias creadas, ¿pero tu hosting no crea copias automáticas? Casi todas las empresas de hosting lo ofrecen, pregúntales a ver.
Foro: Guías – Resolución de problemas
En respuesta a: mi dashboard se ha vuelto locoRestaura una copia de seguridad a ver. Pero esas cosas no pasan solas de la noche a la mañana, tendrás que investigar que pasó.
Foro: Guías – Resolución de problemas
En respuesta a: Año como slug pageComo dice @LGRrusin, esos slugs ya los utiliza WordPress; se puede decir que son slugs reservados. Por eso te añade el «-2», para que no colisionen con los del core.
Foro: Guías – Resolución de problemas
En respuesta a: Como depurar wp-cronOk, pues dinos a ver. Si sigues con problemas y no encuentras la solución, ejecuta ese cron de sistema con el plugin wp-cron control (no confundir con wp-crontrol). A mi me ha dado muy buenos resultados (aunque ahora dejé de utilizarlo por incompatibilidad con LiteSpeed).
Foro: WordPress Avanzado
En respuesta a: Nueva taxonomia o nuevo post type?Es prácticamente la misma idea que te propuse. De hecho, lo que hace
add_rewrite_endpoint()
es registrar un rewrite y sus query vars. No veo mucha diferencia práctica; salvo que no estoy de acuerdo en utilizartemplate_redirect
para mostrar contenido como hacen en ese enlace, yo utilizará el filtrotemplate_include
para establecer el template deseado donde, ahora sí, se mostraría el contenido.De todas formas, me alegro que hayas encontrado la solución.
PD: No se «redirige la URL a un plugin», lo que hace el código no es una redirección, es una reescritura.
Foro: Guías – Resolución de problemas
En respuesta a: Como depurar wp-cron¿Estás ejecutando wp-cron.php de forma prederminada o a través de un cron de sistema? Si en el segundo caso, ¿con wget o con php-cli?
Foro: Guías – Resolución de problemas
En respuesta a: Como depurar wp-cronMmmm ….. ¿y si activas
WP_DEBUG
en wp-config.php? Debería registrarte todos los errores, de cualquier tipo (fatal, notice y warning) y guardarlos en wp-content/debug.logdefine( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Foro: Plugins y Hacks
En respuesta a: plugin que lanze una accion hook después de publicar un post la primera vezUnas reglas que suelo seguir (no tienen por qué ser ciertas e inmutables, pero de momento las sigo a rajatabla):
– Nunca, bajo ningún concepto, modifiques archivos de WordPress
– Casi nunca, casi bajo ningún concepto, pongas en los themes código/funciones que no sean para el «look & feel». Si no es diseño/maquetación, utiliza un plugin.Ese código lo puedes convertir en un plugin con unas pocas líneas, y será independiente de la actualización de WordPress e independiente de la actualización del theme. Es más, seguirás teniendo esa funcionalidad aunque cambies de theme.
<?php /* Plugin Name: Send push notifications Plugin URI: https://es.wordpress.org/support/topic/plugin-que-lanze-una-accion-hook-despues-de-publicar-un-post-la-primera-vez/ Description: A plugin to send notifications through Firebase Version: 0.1 Author: Juan Padial (@CybMeta) */ add_action( 'transition_post_status', 'cyb_push_notification', 10, 3 ); function cyb_push_notification( $new_status, $old_status, $post ) { // Si la notificación para este post ya se envió ... if( '1' == get_post_meta( $post->ID, 'notification_sent' , true ) ) return; $request_args = [ // .... ] $response = wp_remote_post( 'https://fcm.googleapis.com/fcm/send', $request_args ); if( is_wp_error( $response ) ) { error_log( $response->get_error_message() ); } else { update_post_meta( $post->ID, 'notification_sent', '1' ); } }
A parte de los custom fields, igual se podría investigar hacerlo con el Options API y un cron job (1, 2), pero bueno, la idea base viene a ser la misma.
Espero que te sirva. Saludos!!
Foro: Plugins y Hacks
En respuesta a: plugin que lanze una accion hook después de publicar un post la primera vezNo se si termino de pillar el problema, pero el action
transition_post_status
que has mencionado lo veo idóneo para este use case, ¿no? ¿por qué no te vale?add_action( 'transition_post_status', 'cyb_push_notification', 10, 3 ); function cyb_push_notification( $new_status, $old_status, $post ) { // Prueba la combinación de $new_status y $old_status // que te interese if( 'publish' === $old_status ) return; if( 'publish' !== $new_status ) return; $request_args['headers'] = [ 'Authorization' => 'key=<SERVER KEY>', 'Content-Type' => 'application/json' ]; $request_args['body'] = [ //.... ]; // wp_remote_post() utiliza cURL si está disponible // Ver https://developer.wordpress.org/reference/functions/wp_remote_post/ // Ver https://developer.wordpress.org/reference/functions/wp_remote_request/ $response = wp_remote_post( 'https://fcm.googleapis.com/fcm/send', $request_args ); if( is_wp_error( $response ) ) { error_log( $response->get_error_message() ); } }
Ahora me centro en el detalle de «la primera vez que se publique». Entiendo que si un post fue publicado, luego despublicado y luego publicado otra vez, entonces no quieres hacer el push de nuevo. Se me ocurre, por ejemplo, utilizar un custom field:
add_action( 'transition_post_status', 'cyb_push_notification', 10, 3 ); function cyb_push_notification( $new_status, $old_status, $post ) { // Si la notificación para este post ya se envió ... if( '1' == get_post_meta( $post->ID, 'notification_sent' , true ) ) return; $request_args = [ // .... ] $response = wp_remote_post( 'https://fcm.googleapis.com/fcm/send', $request_args ); if( is_wp_error( $response ) ) { error_log( $response->get_error_message() ); } else { update_post_meta( $post->ID, 'notification_sent', '1' ); } }
Algo así creo que podría servirte.