Haga sus propios códigos cortos y más, con estos 7 Hacks de WordPress

Haga sus propios códigos cortos y más, con estos 7 Hacks de WordPress / Wordpress y desarrollo web

Los complementos me molestan: al ver una larga lista de ellos, cada uno registra sus propios ganchos y filtros y ... eugh. A veces se puede encontrar una solución simple con solo unas pocas líneas en su funciones.php expediente. Aquí están 10 de nuestros favoritos.

Tenga en cuenta que funciones.php es parte de su tema, y ​​como tal, cualquier hack que coloque allí se perderá cuando cambie de tema. Deberá copiar aquellos que desee para mantenerlos en el nuevo tema. No es difícil de ninguna manera, pero sí algo que debe tener en cuenta en caso de que su sitio se rompa repentinamente y no pueda entender por qué. Si cometes un error al codificarlos, verás una página en blanco. (La guía definitiva para tratar con 500 errores de servidor y páginas en blanco en WordPress La guía definitiva para resolver 500 errores de servidor internos y páginas blancas en blanco en Wordpress La guía definitiva para resolver 500 errores de servidor internos y páginas blancas en blanco en Wordpress Leer más Te diré algunas de las otras formas en que esto puede suceder. - así que ten cuidado El conocimiento de PHP también es útil (aquí está nuestra guía para principiantes de PHP).

Añadir miniaturas al área de administración

Si solo está empezando a agregar miniaturas de la publicación La guía completa de miniaturas y tamaños de imagen destacados en WordPress La guía completa de miniaturas y tamaños de imagen destacados en WordPress Lea más, puede ser de gran ayuda para ver de un vistazo las publicaciones que aún tienen. para incluir una miniatura: este fragmento agregará una nueva columna a la pantalla de administración al ver Todos los mensajes. Puede cambiar el tamaño ajustando las variables en la matriz (100,200), que especifica el ancho y la altura máximos.

 add_filter ('manage_posts_columns', 'posts_columns', 5); add_action ('manage_posts_custom_column', 'posts_custom_columns', 5, 2); function posts_columns ($ defaults) $ defaults ['post_thumbs'] = __ ('Thumbs'); devuelve $ por defecto;  function posts_custom_columns ($ column_name, $ id) si ($ column_name === 'post_thumbs') echo el_post_thumbnail (array (100,200)); 

Deberías terminar con algo como esto:

Haga su propio código corto para fragmentos de código JS

La incrustación de JavaScript directamente en el contenido de la publicación puede ser problemática (pero es posible, vea el truco de TinyMCE más adelante en el artículo), especialmente cuando esos fragmentos de código son propensos a cambiar con frecuencia, lo que hace que todas las publicaciones actuales se rompan. Si el JavaScript que está incorporando incluye un atributo de tamaño, también puede tener problemas cuando el tema cambia y, de repente, ya no queda nada. O quizás simplemente te cansarás de tener que incrustar lo mismo una y otra vez. De cualquier manera, un shortcode puede ayudar enormemente.

Aquí está el fragmento de uno que hice para incrustar el chat semanal, que se basa en el servicio gratuito de tlk.io. Usando el código corto charla, y dado un solo atributo de habitación, incrusta el código relevante que apunta a la dirección correcta de la sala de chat, o en este caso el valor predeterminado es un genérico “tecnofilia” habitación.

 función chatroom ($ atts) extracto (shortcode_atts (array ('room' => 'technophilia'), $ atts)); regreso '
'; add_shortcode ('chat', 'chatroom');

Matar a un shortcode

Si ya no desea usar un código corto, puede encontrarlos desordenados en la salida. Este simple código los eliminará, un código corto. “limpiador” si lo desea, aunque no actúa en la base de datos, solo en la salida del contenido de la publicación.

 función shortcode_cleaner () remove_shortcode ('chat'); add_shortcode ('chat', 'my_remove_shortcode');  add_action ('init', 'shortcode_cleaner'); function my_remove_shortcode () return ";

Extraer un video de YouTube de una publicación

Las imágenes destacadas se introdujeron en la versión 2.9 para dar a cada publicación una imagen del representante central, pero ¿qué sucede si su publicación es más sobre el video? Puede tomar una captura de pantalla y usarla como imagen destacada, o puede extraer el video e incrustarlo en lugar de una imagen destacada. Llame a esta función desde dentro del bucle para obtener una URL de YouTube para que pueda hacer lo que desee.

 function video_from_post () global $ post; $ return = array (); preg_match ('| http: //www.youtube.com/watch \? v = ([a-zA-Z0-9 _ \ -] +) |', $ post-> post_content, $ matches); $ v = $ concuerda [1]; $ return [0] = $ post; $ return [1] = $ v; return $ return;  

También es posible que desee utilizar el siguiente fragmento de código que filtra las publicaciones para eliminar las URL de YouTube (ya que las usará en otros lugares).

 función remove_youtube ($ content) $ search = '/http:\/\/www\.youtube\.com\/watch\?(.*?)v=([a-zA-Z0-9_\-◆+ )(\Si'; $ content = preg_replace ($ search, "", $ content, 1); devolver $ contenido;  add_filter ('the_content', 'remove_youtube'); 

Detener el editor de Visual Stripping HTML

El editor visual de WordPress - TinyMCE - es ideal para la mayoría de los usuarios, y puede extenderse para hacer aún más con el complemento TinyMCE Advanced. Tome el control del editor de WordPress con TinyMCE. Tome el control del editor de WordPress con TinyMCE Advanced. Lea más. Para aquellos que desean un poco menos de cuidado de los niños de su código, este pequeño fragmento de código evitará que TinyMCE elimine las etiquetas al expandir la lista de elementos válidos, lo que le permite incrustar elementos como iFrames o especificar clases de elementos..

 function fb_change_mce_options ($ initArray) // Cadena de etiquetas extendidas separadas por comas $ ext = 'pre [id | nombre | clase | estilo | lang | escapado], iframe [align | longdesc | nombre | width | height | frameborder | scrolling | marginheight | marginwidth | src] '; if (isset ($ initArray ['extended_valid_elements'])) $ initArray ['extended_valid_elements']. = ','. $ ext;  else $ initArray ['extended_valid_elements'] = $ ext;  $ initArray ['verify_html'] = falso; devuelve $ initArray;  add_filter ('tiny_mce_before_init', 'fb_change_mce_options'); 

Finalmente, este evita que se elimine JavaScript, pero tenga en cuenta que esto abre un gran agujero de seguridad en entornos de varios autores..

 function disable_kses_content () remove_filter ('content_save_pre', 'wp_filter_post_kses');  add_action ('init', 'disable_kses_content', 20); 

Sitio web gratuito Thumbnailer

WordPress.com ofrece un servicio de miniaturas de sitios web poco conocido, es decir, puede decirle la URL de una página web y generará y servirá una imagen en miniatura de ese sitio web. Agrega el siguiente fragmento de código para crear un “webthumb” código corto, y usarlo rodeando una URL como [webthumb] // www.makeuseof.com [/ webthumb]. Use los atributos para anular el ancho o el alto, y ajuste la salida HTML según lo requiera. Las miniaturas se almacenan en caché, pero puede tardar un poco en generarse inicialmente.

 function websitethumbnails ($ atts, $ content = null) extract (shortcode_atts (array ("snap" => 'http://s.wordpress.com/mshots/v1/', "alt" => 'My image', "w" => '600', // ancho "h" => '350' // altura), $ atts)); $ img = ''. $ alt. ''; devuelve $ img;  add_shortcode ("webthumb", "websitethumbnails"); 

Añadir miniaturas destacadas a las fuentes RSS

El siguiente código ajustará tanto un extracto como una fuente RSS completa para incluir la miniatura destacada. También puede ver cómo hemos agregado un enlace predeterminado al final de cada elemento, enlazando a la publicación completa. Por supuesto, puede cambiar esto a cualquier cosa que desee, como incluir algunos botones de compartir.

 function excerpt_thumbnail_feeds ($ content) global $ post; if (has_post_thumbnail ($ post-> ID)) $ content = '
'. get_the_post_thumbnail ($ post-> ID, 'destacados'). '
'. rss_the_excerpt ($ post-> ID, 100); $ content. = "

Lee el artículo completo: ID). ""> ". Get_the_title ($ post-> ID)."

"; return $ content; add_filter (" the_excerpt_rss "," excerpt_thumbnail_feeds "); // muestra las miniaturas de las entradas en la función de feeds full_thumbnail_feeds ($ content) global $ post; if (has_post_thumbnail ($ post-> ID)) $ content = '
'. get_the_post_thumbnail ($ post-> ID, 'destacados'). '
'. $ contenido; $ content. = "

Lee el artículo completo: ID). ""> ". Get_the_title ($ post-> ID)."

"; devolver $ contenido; add_filter (" the_content_rss "," full_thumbnail_feeds”);

Mira, hay una gran cantidad de cosas que puedes hacer sin complementos, y esto es solo rascar la superficie. Si desea más, consulte mi lista de recetas de IFTTT para WordPress 5. Recetas increíbles de IFTTT para usuarios de WordPress. y WordPress es la última navaja suiza del blogger. ¡Imagínese el tipo de dominación mundial que podría lograr combinando los dos! Lea más o visite WPSnipp, un sitio con más de 600 cortes de fragmentos categorizados.

Explorar más sobre: ​​Wordpress.