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; de ninguna manera es difícil, 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 de 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¿Tiene problemas con 500 errores internos del servidor y páginas en blanco en WordPress? Aquí se explica cómo solucionarlos de inmediato. Lee mas

instagram viewer
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á nuestro guía de principiantes a PHP Aprenda a construir con PHP: un curso intensivoPHP es el lenguaje que usan Facebook y Wikipedia para atender miles de millones de solicitudes diarias; El lenguaje de facto utilizado para enseñar a la gente la programación web. Es maravillosamente simple, pero brillantemente poderoso. Lee mas ).

Agregar miniaturas al área de administración

Si solo estás empezando a agregar publicar miniaturas La guía completa de miniaturas destacadas y tamaños de imagen en WordPressAquí encontrará todo lo que necesita saber sobre los tamaños de imagen en WordPress y la administración de imágenes destacadas. Lee mas , 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:

post-list-thumbs

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 roto. 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 la versión gratuita tlk.io Servicio. Usando el shortcode charlay dado un atributo único 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, a una sala genérica de "tecnofilia".


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 en la salida. Este código simple los eliminará, un código breve "más limpio" 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 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 el 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; } 

Es posible que también 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 se puede ampliar para hacer aún más con Complemento TinyMCE Advanced Toma el control del editor de WordPress con TinyMCE Advanced Lee mas . Sin embargo, para aquellos que quieren un poco menos de cuidado de niños de su código, este pequeño fragmento evitará que TinyMCE se despoje eliminar etiquetas expandiendo la lista de elementos válidos, lo que le permite incrustar elementos 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 [alinear | 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 código corto de "webthumb" 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 tardar un poco en generarse inicialmente.


función sitio webthumbnails ($ 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 = ''. $ alt. ''; 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. = "

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

"; devolver $ contenido; } add_filter ("the_excerpt_rss", "excerpt_thumbnail_feeds"); // muestra miniaturas de publicaciones en feeds. function full_thumbnail_feeds ($ contenido) {global $ post; if (has_post_thumbnail ($ post-> ID)) {$ content = '
'. get_the_post_thumbnail ($ post-> ID, 'destacado'). '
'. $ contenido; } $ content. = "

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

"; devolver $ contenido; } 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 IFTTT para WordPress 5 increíbles recetas de IFTTT para usuarios de WordPressIFTTT es la herramienta de automatización elegida por el usuario avanzado; y WordPress es la navaja suiza definitiva para bloggers. ¡Solo imagina el tipo de dominación mundial que podrías lograr combinando los dos! Lee mas , o visitar WPSnipp - un sitio con más de 600 hacks de fragmentos categorizados.

James tiene una licenciatura en Inteligencia Artificial y está certificado por CompTIA A + y Network +. Es el desarrollador principal de MakeUseOf, y pasa su tiempo libre jugando VR paintball y juegos de mesa. Ha estado construyendo computadoras desde que era un niño.