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

  • Joseph Goodman
  • 0
  • 866
  • 51
Anuncio

Los complementos me molestan: ver una larga lista de ellos, cada uno registrando 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í hay 10 de nuestros favoritos.

Tenga en cuenta que funciones.php es parte de su tema y, como tal, cualquier truco que coloque allí se perderá cuando cambie de tema. Deberá copiar los que desea conservar en el nuevo tema; no es difícil de ninguna manera, pero es algo a tener en cuenta en caso de que su sitio se rompa repentinamente y no pueda entender por qué. Si comete un error al codificarlos, se encontrará con una página en blanco (la guía definitiva para lidiar con 500 errores del servidor y páginas en blanco en WordPress La guía definitiva para resolver 500 errores internos del servidor y páginas blancas en blanco en WordPress La guía definitiva para resolver 500 errores internos del servidor y páginas blancas en blanco en WordPress Tener problemas con 500 errores internos del servidor y páginas en blanco en WordPress ? Aquí se explica cómo solucionarlos de inmediato. le 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).

Agregar miniaturas al área de administración

Si solo está empezando a agregar miniaturas de publicaciones La Guía completa de miniaturas destacadas y tamaños de imagen en WordPress La Guía completa de miniaturas destacadas y tamaños de imagen en WordPress Aquí encontrará todo lo que necesita saber sobre los tamaños de imagen en WordPress y la administración de imágenes destacadas. , puede ser inmensamente útil ver de un vistazo qué publicaciones aún no han incluido una miniatura: este fragmento agregará una nueva columna a la pantalla de administración cuando se visualice 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); función posts_columns ($ defaults) $ defaults ['post_thumbs'] = __ ('Thumbs'); devolver $ valores predeterminados;  función posts_custom_columns ($ column_name, $ id) if ($ column_name === 'post_thumbs') echo the_post_thumbnail (array (100,200)); 

Deberías terminar con algo como esto:

Haga su propio shortcode para fragmentos de JS

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

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

 función de sala de chat ($ atts) extract (shortcode_atts (array ('room' => 'technophilia'), $ atts)); regreso '';  add_shortcode ('chat', 'sala de chat');

Mata un shortcode

Si ya no desea utilizar un código corto, puede encontrarlos llenos de basura en la salida. Este código simple los eliminará, un código corto “limpiador” si lo hará, 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 central representativa, pero ¿qué sucede si su publicación trata 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 hacer lo que desee.

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

También es posible que desee utilizar el siguiente fragmento que filtra las publicaciones para eliminar las URL de YouTube (ya que las usará en otro lugar).

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

Detener el editor visual Stripping HTML

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

 function fb_change_mce_options ($ initArray) // Cadena separada por comas de etiquetas extendidas $ ext = 'pre [id | nombre | clase | estilo | lang | escapado], iframe [align | longdesc | nombre | ancho | altura | frameborder | desplazamiento | marginheight | marginwidth | src] '; if (isset ($ initArray ['extended_valid_elements'])) $ initArray ['extended_valid_elements']. = ','. $ ext;  else $ initArray ['extended_valid_elements'] = $ ext;  $ initArray ['verificar_html'] = falso; devolver $ initArray;  add_filter ('tiny_mce_before_init', 'fb_change_mce_options'); 

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

 función disable_kses_content () remove_filter ('content_save_pre', 'wp_filter_post_kses');  add_action ('init', 'disable_kses_content', 20); 

Miniatura gratuita del sitio web

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

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

Agregar miniaturas destacadas a los canales RSS

El siguiente código ajustará un extracto o 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, vinculando de nuevo a la publicación completa. Por supuesto, puede cambiar esto a lo que desee, como incluir algunos botones para compartir.

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

Lea 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 publicaciones en la función feeds full_thumbnail_feeds ($ content) global $ post; if (has_post_thumbnail ($ post-> ID)) $ content = ''. get_the_post_thumbnail ($ post-> ID, 'Featured'). ''. $ content; $ content. = "

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

"; return $ content; add_filter (" the_content_rss "," full_thumbnail_feeds”);

Mira, hay muchas cosas que puedes hacer sin complementos, y esto solo está rascando la superficie. Si quieres más, mira mi lista de recetas de IFTTT para WordPress. 5 Recetas increíbles de IFTTT para usuarios de WordPress. 5 Recetas increíbles de IFTTT para usuarios de WordPress. IFTTT es la herramienta de automatización para usuarios avanzados; y WordPress es la navaja suiza definitiva para bloggers. ¡Solo imagina el tipo de dominación mundial que podrías lograr combinando los dos! o visite WPSnipp, un sitio con más de 600 hacks de fragmentos categorizados.




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.