Tag Archives: functions

Añadir target=”_blank” a todos los enlaces

Añadir target=”_blank” a todos los enlaces

Por supuesto, hay plugins para convertir todos los enlaces de manera que se abran en nueva ventana o pestaña pero ¿para qué usar plugins cuando puedes hacerlo con una simple función?. Si eres de los que te gusta que los enlaces sean ‘ target=”_blank” ‘ y no quieres andar modificando cada enlace puedes añadir esta función a tu plugin de funciones o fichero functions.php de tu tema activo: // Abrir todos los enlaces en ventana nueva function autoblank($text) { $return = str_replace(‘

Fuente: Añadir target=”_blank” a todos los enlaces
Ver el post original aquí :

Añadir target=”_blank” a todos los enlaces

Redirección para accesos fallidos en WordPress

Redirección para accesos fallidos en WordPress

Normalmente, si un usuario falla al tratar de acceder en WordPress le devuelve a la misma pantalla con un mensaje de error, que ya aprendimos a modificar para evitar dar pistas a hackers , pero ¿y si quieres enviar al usuario torpe a una página de error distinta?. Se me ocurre, por ejemplo, enviarle a una página de contacto para que reclame la clave, o incluso a una página en la que ofrecerle servicios personalizados para usuarios registrados. Bueno, lo que sea que se te ocurra. Si quieres redirigir a los usuarios que acceden a tu WordPress a una página concreta puedes usar la función de login de WordPress, que puedes añadir donde te guste, por ejemplo en un widget de texto, pero con un modificador que la envíe a una URL a tu elección , algo así: wp_login_form(array( ‘redirect’ => site_url() )); // en este caso le mandas a la portada de tu web de nuevo Ahora bien, como he dicho, esto es para los accesos exitosos, cuando el usuario introduce bien sus datos. Pero si lo que quieres es hacer justo lo que comentaba antes, hacer redirección cuando se equivocan , y lo ideal es que esto pase en la pantalla de acceso habitual de WordPress, entonces lo que tienes que hacer es añadir el siguiente código a tu plugin de funciones o archivo functions.php del tema activo: add_action( ‘wp_login_failed’, ‘my_front_end_login_fail’ ); // hook para el accesso fallido function my_front_end_login_fail( $username ) { $referrer = $_SERVER['HTTP_REFERER']; // ¿de donde viene? // si hay una referencia válida, y no es la pantalla de acceso por defecto if ( !empty($referrer) && !strstr($referrer,’wp-login’) && !strstr($referrer,’wp-admin’) ) { wp_redirect( $referrer . ‘?login=failed’ ); // le añadimos algo de información (login-failed) a la URL del tema en uso exit; } } Ya solo te queda guardar los cambios y probar que funciona.

Fuente: Redirección para accesos fallidos en WordPress
Leer más :

Redirección para accesos fallidos en WordPress

Redirección para accesos fallidos en WordPress

Redirección para accesos fallidos en WordPress

Normalmente, si un usuario falla al tratar de acceder en WordPress le devuelve a la misma pantalla con un mensaje de error, que ya aprendimos a modificar para evitar dar pistas a hackers , pero ¿y si quieres enviar al usuario torpe a una página de error distinta?. Se me ocurre, por ejemplo, enviarle a una página de contacto para que reclame la clave, o incluso a una página en la que ofrecerle servicios personalizados para usuarios registrados. Bueno, lo que sea que se te ocurra. Si quieres redirigir a los usuarios que acceden a tu WordPress a una página concreta puedes usar la función de login de WordPress, que puedes añadir donde te guste, por ejemplo en un widget de texto, pero con un modificador que la envíe a una URL a tu elección , algo así: wp_login_form(array( ‘redirect’ => site_url() )); // en este caso le mandas a la portada de tu web de nuevo Ahora bien, como he dicho, esto es para los accesos exitosos, cuando el usuario introduce bien sus datos. Pero si lo que quieres es hacer justo lo que comentaba antes, hacer redirección cuando se equivocan , y lo ideal es que esto pase en la pantalla de acceso habitual de WordPress, entonces lo que tienes que hacer es añadir el siguiente código a tu plugin de funciones o archivo functions.php del tema activo: add_action( ‘wp_login_failed’, ‘my_front_end_login_fail’ ); // hook para el accesso fallido function my_front_end_login_fail( $username ) { $referrer = $_SERVER['HTTP_REFERER']; // ¿de donde viene? // si hay una referencia válida, y no es la pantalla de acceso por defecto if ( !empty($referrer) && !strstr($referrer,’wp-login’) && !strstr($referrer,’wp-admin’) ) { wp_redirect( $referrer . ‘?login=failed’ ); // le añadimos algo de información (login-failed) a la URL del tema en uso exit; } } Ya solo te queda guardar los cambios y probar que funciona.

Fuente: Redirección para accesos fallidos en WordPress
Vea el resto aquí :

Redirección para accesos fallidos en WordPress

Desactivar la comprobación de actualizaciones de plugins

Desactivar la comprobación de actualizaciones de plugins

Si tienes una configuración cerrada de WordPress, con una serie de plugins que has modificado o que no quieres que se modifiquen porque, simplemente, funcionan, seguro que no quieres que nadie actualice esos plugins . Es más, lo ideal sería incluso evitar la comprobación de actualización de los plugins . Pues nada, solo tienes que añadir este código a tu plugin de funciones o fichero functions.php de tu tema activo: // Desactivar comprobación de actualización de plugins remove_action( ‘load-update-core.php’, ‘wp_update_plugins’ ); add_filter( ‘pre_site_transient_update_plugins’, create_function( ‘$a’, “return null;” ) ); Guardas los cambios y ya está, tus plugins seguirán ahí mientras los necesites, sin pedirte actualizaciones. Eso si, ten en cuenta que antes de actualizar WordPress a una versión nueva deberás comprobar si hay versiones nuevas o, al menos, si las versiones actuales de los plugins son compatibles, en caso contrario deberías quitar el código y actualizar los plugins que quieras actualizar. Por otra parte, si solo quieres no actualizar algún plugin concreto, pues este truco afecta a todos, puedes decidir que algún plugin no se actualice . Código encontrado en wp snippets

Fuente: Desactivar la comprobación de actualizaciones de plugins
Más información :

Desactivar la comprobación de actualizaciones de plugins

Desactivar la comprobación de actualizaciones de plugins

Desactivar la comprobación de actualizaciones de plugins

Si tienes una configuración cerrada de WordPress, con una serie de plugins que has modificado o que no quieres que se modifiquen porque, simplemente, funcionan, seguro que no quieres que nadie actualice esos plugins . Es más, lo ideal sería incluso evitar la comprobación de actualización de los plugins . Pues nada, solo tienes que añadir este código a tu plugin de funciones o fichero functions.php de tu tema activo: // Desactivar comprobación de actualización de plugins remove_action( ‘load-update-core.php’, ‘wp_update_plugins’ ); add_filter( ‘pre_site_transient_update_plugins’, create_function( ‘$a’, “return null;” ) ); Guardas los cambios y ya está, tus plugins seguirán ahí mientras los necesites, sin pedirte actualizaciones. Eso si, ten en cuenta que antes de actualizar WordPress a una versión nueva deberás comprobar si hay versiones nuevas o, al menos, si las versiones actuales de los plugins son compatibles, en caso contrario deberías quitar el código y actualizar los plugins que quieras actualizar. Por otra parte, si solo quieres no actualizar algún plugin concreto, pues este truco afecta a todos, puedes decidir que algún plugin no se actualice . Código encontrado en wp snippets

Fuente: Desactivar la comprobación de actualizaciones de plugins
Leer más :

Desactivar la comprobación de actualizaciones de plugins

Cargar solo lo mínimo de WordPress

Cargar solo lo mínimo de WordPress

Con el crecimiento de WordPress cada vez hay más desarrolladores que lo usan como base para sus propios proyectos que, en última instancia, no siempre se basan en un WordPress completo sino que lo utilizan para disponer de utilidades concretas , como registro de usuarios, acceso, taxonomías, etc. Algo parecido a lo que ofrece Backpress , la base que utilizan bbPress o GlotPress . Si es tu caso, si quieres disponer de las grandes ventajas de WordPress, pero usarlo con un nivel de carga mínima , solo con lo básico para aprovechar sus múltiples virtudes de manera controlada, de las que disfrutará tu framework o lo que sea, hay una constante, contemplada en el fichero wp-settings.php , que puedes utilizar. Esta constante se llama SHORTINIT , o “inicio corto”, más o menos, y en el archivo ‘ wp-settings.php ‘ viene definida así: // Stop most of WordPress from being loaded if we just want the basics. if ( SHORTINIT ) return false; Para utilizar esta funcionalidad, y cargar lo mínimo de WordPress, solo tienes que añadir la siguiente línea a tu fichero wp-config.php : define( ‘SHORTINIT’, TRUE ); Se cargará lo mínimo de WordPress, de manera que si quieres ir añadiendo funcionalidades ya tendrá que ser a posteriori de la carga inicial, mediante funciones o plugins . Todo muy controlado. Fantástico truco descubierto en wp engineer .

Fuente: Cargar solo lo mínimo de WordPress
Originalmente publicado aquí :

Cargar solo lo mínimo de WordPress

Cargar solo lo mínimo de WordPress

Cargar solo lo mínimo de WordPress

Con el crecimiento de WordPress cada vez hay más desarrolladores que lo usan como base para sus propios proyectos que, en última instancia, no siempre se basan en un WordPress completo sino que lo utilizan para disponer de utilidades concretas , como registro de usuarios, acceso, taxonomías, etc. Algo parecido a lo que ofrece Backpress , la base que utilizan bbPress o GlotPress . Si es tu caso, si quieres disponer de las grandes ventajas de WordPress, pero usarlo con un nivel de carga mínima , solo con lo básico para aprovechar sus múltiples virtudes de manera controlada, de las que disfrutará tu framework o lo que sea, hay una constante, contemplada en el fichero wp-settings.php , que puedes utilizar. Esta constante se llama SHORTINIT , o “inicio corto”, más o menos, y en el archivo ‘ wp-settings.php ‘ viene definida así: // Stop most of WordPress from being loaded if we just want the basics. if ( SHORTINIT ) return false; Para utilizar esta funcionalidad, y cargar lo mínimo de WordPress, solo tienes que añadir la siguiente línea a tu fichero wp-config.php : define( ‘SHORTINIT’, TRUE ); Se cargará lo mínimo de WordPress, de manera que si quieres ir añadiendo funcionalidades ya tendrá que ser a posteriori de la carga inicial, mediante funciones o plugins . Todo muy controlado. Fantástico truco descubierto en wp engineer .

Fuente: Cargar solo lo mínimo de WordPress
Vea el post original :

Cargar solo lo mínimo de WordPress

Cómo limpiar la tabla wp_options

Cómo limpiar la tabla wp_options

Una de las cosas que más me chirrían de WordPress es la manía de muchos plugins de meter líneas de información en la base de datos , en concreto en la tabla ‘ wp_options ‘, que a poco que instales y desinstales plugins, se va llenando de porquería, muy al estilo de lo que pasa con el registro de Windows. Por supuesto, es una mala costumbre, no de WordPress, sino de algunos desarrolladores que, pudiendo crear sus propias tablas, prefieren introducir la información del plugin en la tabla ‘ wp_options ‘. Y esto, además, no sería un problema si introdujeran una línea de código para limpiar la base de datos de su información al desinstalar el plugin, algo que si hacen algunos programadores. Pero bueno, si tu base de datos crece y crece en tamaño , y no es por nuevas tablas ni por el crecimiento normal de las tablas wp_posts o wp_comments , es muy probable que sea precisamente la tabla wp_options que ha ido creciendo por plugins con esta fea costumbre. ¿Limpiarlo? , pues bueno, puedes hacerlo manualmente, si conoces las entradas de una instalación estándar de WordPress, pero es una absoluta barbaridad y te puede llevar muchas horas que seguramente prefieras emplear para otras cosas. Lo mejor es valerte de alguna de estas soluciones: 1. WP-Options manager Este plugin ofrece un navegador que te permite identificar las entradas en la tabla ‘ wp_options ‘ de tu base de datos e ir borrándolas selectivamente . Lo que le diferencia de hacer lo mismo desde PHPmyAdmin es que nos ofrece ocultar las entradas por defecto de WordPress, haciendo esta tarea mucho más segura . Otra funcionalidad interesante es buscar opciones obsoletas, para empezar el borrado por ahí. Muy recomendable pero hay que usarlo con precaución, como siempre que haces algo directamente con la base de datos, como es el caso. 2. Clean options Una de las mayores virtudes de este plugin es que detecta opciones obsoletas , e identifica las muy pesadas y habituales entradas de RSS antiguas, que suelen llenar toda tabla ‘ wp_options ‘. También es de agradecer que antes del borrado definitivo nos ofrezca una pantalla en la que nos avisa y recuerda todo lo que se va a borrar, para dar el último suspiro antes de hacer el borrado. 3. Eliminar los _transient Las entradas del tipo ‘ _transient ‘ son una especie de referencias a cache y los accesos RSS que antes comentaba. Si es tu cáncer particular puedes automatizar el borrado de estas molestas y pesadas entradas en tu tabla wp_options de WordPress añadiendo este código al fichero functions.php o plugin de funciones: add_action( ‘wp_scheduled_delete’, ‘delete_expired_db_transients’ ); function delete_expired_db_transients() { global $wpdb, $_wp_using_ext_object_cache; if( $_wp_using_ext_object_cache ) return; $time = isset ( $_SERVER['REQUEST_TIME'] ) ? (int)$_SERVER['REQUEST_TIME'] : time() ; $expired = $wpdb-> get_col( “SELECT option_name FROM {$wpdb-> options} WHERE option_name LIKE ‘_transient_timeout%’ AND option_value < {$time};" ); foreach( $expired as $transient ) { $key = str_replace('_transient_timeout_', '', $transient); delete_transient($key); } } Pues bien, esto es lo que hay. Y te recuerdo que siempre, siempre, haz backup de tu base de datos antes de liarla parda con estas cosas, para que no te tengas que arrepentir. Y si con estos plugins no te llega, siempre puedes dejar la tabla ‘ wp_options ‘ al estado inicial de la instalación de WordPress con estos sencillos pero radicales pasos: Ve a ‘Herramientas -> Exportar’ y exporta todo el contenido Ve a PHPmyAdmin y borra todas las entradas de la tabla ‘ wp_options ‘ Ve a ‘miweb.com/wp-admin/install.php’ y actualiza la base de datos Ve a ‘Herramientas -> Importar’ e importa el contenido antes exportado Para todo lo demás, usa cuantos menos plugins mejor, y si tienen alguna función de limpieza tras la desinstalación mucho mejor.

Fuente: Cómo limpiar la tabla wp_options
Leer el original :

Cómo limpiar la tabla wp_options

Cómo limpiar la tabla wp_options

Cómo limpiar la tabla wp_options

Una de las cosas que más me chirrían de WordPress es la manía de muchos plugins de meter líneas de información en la base de datos , en concreto en la tabla ‘ wp_options ‘, que a poco que instales y desinstales plugins, se va llenando de porquería, muy al estilo de lo que pasa con el registro de Windows. Por supuesto, es una mala costumbre, no de WordPress, sino de algunos desarrolladores que, pudiendo crear sus propias tablas, prefieren introducir la información del plugin en la tabla ‘ wp_options ‘. Y esto, además, no sería un problema si introdujeran una línea de código para limpiar la base de datos de su información al desinstalar el plugin, algo que si hacen algunos programadores. Pero bueno, si tu base de datos crece y crece en tamaño , y no es por nuevas tablas ni por el crecimiento normal de las tablas wp_posts o wp_comments , es muy probable que sea precisamente la tabla wp_options que ha ido creciendo por plugins con esta fea costumbre. ¿Limpiarlo? , pues bueno, puedes hacerlo manualmente, si conoces las entradas de una instalación estándar de WordPress, pero es una absoluta barbaridad y te puede llevar muchas horas que seguramente prefieras emplear para otras cosas. Lo mejor es valerte de alguna de estas soluciones: 1. WP-Options manager Este plugin ofrece un navegador que te permite identificar las entradas en la tabla ‘ wp_options ‘ de tu base de datos e ir borrándolas selectivamente . Lo que le diferencia de hacer lo mismo desde PHPmyAdmin es que nos ofrece ocultar las entradas por defecto de WordPress, haciendo esta tarea mucho más segura . Otra funcionalidad interesante es buscar opciones obsoletas, para empezar el borrado por ahí. Muy recomendable pero hay que usarlo con precaución, como siempre que haces algo directamente con la base de datos, como es el caso. 2. Clean options Una de las mayores virtudes de este plugin es que detecta opciones obsoletas , e identifica las muy pesadas y habituales entradas de RSS antiguas, que suelen llenar toda tabla ‘ wp_options ‘. También es de agradecer que antes del borrado definitivo nos ofrezca una pantalla en la que nos avisa y recuerda todo lo que se va a borrar, para dar el último suspiro antes de hacer el borrado. 3. Eliminar los _transient Las entradas del tipo ‘ _transient ‘ son una especie de referencias a cache y los accesos RSS que antes comentaba. Si es tu cáncer particular puedes automatizar el borrado de estas molestas y pesadas entradas en tu tabla wp_options de WordPress añadiendo este código al fichero functions.php o plugin de funciones: add_action( ‘wp_scheduled_delete’, ‘delete_expired_db_transients’ ); function delete_expired_db_transients() { global $wpdb, $_wp_using_ext_object_cache; if( $_wp_using_ext_object_cache ) return; $time = isset ( $_SERVER['REQUEST_TIME'] ) ? (int)$_SERVER['REQUEST_TIME'] : time() ; $expired = $wpdb-> get_col( “SELECT option_name FROM {$wpdb-> options} WHERE option_name LIKE ‘_transient_timeout%’ AND option_value < {$time};" ); foreach( $expired as $transient ) { $key = str_replace('_transient_timeout_', '', $transient); delete_transient($key); } } Pues bien, esto es lo que hay. Y te recuerdo que siempre, siempre, haz backup de tu base de datos antes de liarla parda con estas cosas, para que no te tengas que arrepentir. Y si con estos plugins no te llega, siempre puedes dejar la tabla ‘ wp_options ‘ al estado inicial de la instalación de WordPress con estos sencillos pero radicales pasos: Ve a ‘Herramientas -> Exportar’ y exporta todo el contenido Ve a PHPmyAdmin y borra todas las entradas de la tabla ‘ wp_options ‘ Ve a ‘miweb.com/wp-admin/install.php’ y actualiza la base de datos Ve a ‘Herramientas -> Importar’ e importa el contenido antes exportado Para todo lo demás, usa cuantos menos plugins mejor, y si tienen alguna función de limpieza tras la desinstalación mucho mejor.

Fuente: Cómo limpiar la tabla wp_options
Visitar enlace :

Cómo limpiar la tabla wp_options

Mostrar RSS feed en una entrada de WordPress

Mostrar RSS feed en una entrada de WordPress

De verdad que esto no lo he usado nunca, de hecho ni se me ocurre para qué pueda servir , pero seguro que tu le encuentras utilidad. Me refiero a que, mediante un shortcode puedas mostrar en cualquier parte de una entrada enlaces a publicaciones de un feed RSS. Si te animas el truco está en añadir este código al fichero functions.php de tu tema (como siempre) o a tu plugin de funciones : //Es imprescindible que exista ese fichero para poder llamar a la función wp_rss(). include_once(ABSPATH.WPINC.’/rss.php’); function ver_RSS($atts) { extract(shortcode_atts(array( “feed” => ‘http://’, “num” => ’1′, ), $atts)); return wp_rss($feed, $num); } add_shortcode(‘rss’, ‘ver_RSS’); Luego solo tienes que usar el nuevo shortcode de este modo: [rss feed="http://feeds.feedburner.com/AyudaWordPress" num="3"] La variable “num” la decides tu con el número de enlaces que se visualizarán. ¡Ah!, y si se te ocurre una situación (razonable) para usar este truco me lo cuentas, que no lo pillo, hoy debo estar espeso.

Fuente: Mostrar RSS feed en una entrada de WordPress
El resto está aquí :

Mostrar RSS feed en una entrada de WordPress