Página principal » WordPress » 15 funciones útiles de WordPress que todos los desarrolladores deberían saber

    15 funciones útiles de WordPress que todos los desarrolladores deberían saber

    WordPress está lleno de excelentes funciones para que los usemos los desarrolladores. Podemos sacar listas de publicaciones de la nada, manipular casi todo acerca de ellos, capturar a cualquier usuario que deseemos y mostrar sus conexiones de redes sociales en un instante..

    Sin embargo, hay bastantes funciones que parecen ser pasadas por alto por razones desconocidas. ¡He estado codificando con WordPress por alrededor de 8 años y ocasionalmente todavía encuentro algo nuevo! Echemos un vistazo a algunos de mis funciones favoritas pasadas por alto y aprende a usarlos en el camino..

    antispambot ()

    Generalmente levanto algunas cejas con esta, parece ser una de las funciones mejor ocultas en el código base.. antispambot () reemplaza los caracteres con entidades HTML, que es una forma de enmascarar direcciones de correo electrónico de raspadores malvados.

     $ email = '[email protected]'; echo 'Puedes contactarme en'. antispambot ($ email). ' en cualquier momento'. 

    Si bien este es un dato útil, también es un ejemplo de por qué algunas personas critican a WordPress: esta es una función horriblemente llamada. Al leer el nombre de la función, no tienes idea de lo que hace.

    human_time_diff ()

    Cuando supe por primera vez sobre esta función hace aproximadamente un año, pensé que debía haber sido una adición reciente que pasé por alto en un registro de cambios. No exactamente…

    Esta función, que genera la diferencia entre dos marcas de tiempo, se encuentra desde la versión 1.5 (¡eso es el 17 de febrero de 2018!).

    El siguiente gran fragmento de código que tomé prestado del códice muestra cuánto tiempo hace que se publicó una publicación actual. Utiliza el Fecha de publicación del post como primer argumento. y el fecha actual como segundo.

     echo 'Este post fue publicado'. human_time_diff (get_the_time ('U'), current_time ('timestamp')). 'hace'; 

    get_post_meta ()

    Tengan paciencia aquí, sé que esta es una función muy utilizada, sin embargo, cómo funciona no es tan conocido. En primer lugar, al omitir los parámetros segundo y tercero, puede tira todos los metadatos para una publicación.

     $ all_meta = get_post_meta (14); 

    Incluso si solo tomas los datos de una sola clave, todos los postmeta se eliminan de todos modos.

    La razón es en realidad bastante lógica. Los metadatos se utilizan en varios lugares. Si get_post_meta () consulta la base de datos cada vez que se usa, terminamos con demasiadas consultas. En cambio, si tira de los metadatos, los almacena en caché y utiliza los valores almacenados en caché en todas las recuperaciones de metadatos posteriores..

    wp_upload_bits ()

    Esta función es una recta función de carga de archivos. Si bien no mueve el archivo a la carpeta de cargas y lo agrega a la sección de medios de WordPress, es extremadamente conveniente y siempre puede hacer el resto con la wp_insert_attachment () función.

     $ upload = wp_upload_bits ($ file ['name'], null, file_get_contents ($ file ['tmp_name'])); 

    Hay una explicación para esto: el primer parámetro es el nombre del archivo. El segundo está depreciado, por lo que debe establecerse en nulo (eyeroll con consistencia de WordPress). El tercer parámetro es el contenido real del archivo..

    get_post_field ()

    En el pasado vi algunos ejemplos en los que alguien escribió un bucle para obtener un recuento de comentarios para una publicación, o escribió una consulta de base de datos dedicada para ello. No los necesitas, lo que necesitas es. get_post_field (). Esta función recupera el valor de un solo campo para una sola publicación en la base de datos Vamos a tomar un recuento de comentarios!

     Este post tiene  comentarios. 

    wpautop ()

    Esta función ha salido un poco en el foco, pero aún es relativamente desconocida. Es similar al PHP nativo nl2br pero en lugar de crear nuevas líneas, envuelve su contenido en párrafos.

    Esto es útil si tiene un cuadro de texto y desea asegurarse de que cuando los usuarios crean párrafos con saltos de línea dobles, estos permanezcan visibles en el front-end también..

     

    Lo que dicen nuestros usuarios

    wp_is_mobile ()

    Esta función bien llamada detecta cuando un usuario está en un dispositivo móvil y le permite mostrar contenido en consecuencia. Dado que esta es una etiqueta condicional, devuelve verdadero o falso según el escenario.

      Visite nuestro sitio web en su escritorio para una experiencia de usuario más rica  

    wp_redirect ()

    El último ejemplo muestra otra función clara: wp_redirect (). Esto debería ser usado en lugar del PHP nativo encabezamiento() función. La función de redirección de WordPress te permite establecer una URL para redirigir a, y también establecer un código de estado, Excelente para manejar redirecciones permanentes también..

     // Para una URL que ya no está en uso wp_redirect ('http://website.com/new-url/', 301); 

    paginate_links ()

    Apuesto a que esta función se debe en parte a la popularidad del complemento WP-PageNavi. Por defecto WordPress muestra los enlaces anteriores / siguientes al final de su lista de publicaciones. WP-PageNavi reemplaza eso con números de página.

    Esto se puede hacer con un poco de trabajo usando el paginate_links () funciones Tiene bastantes parámetros, así que recomiendo echar un vistazo a la documentación..

    El siguiente ejemplo del códice muestra cómo puede agregarlo a un bucle predeterminado, pero agregarlo a los bucles personalizados no es demasiado extenso.

     global $ wp_query; $ big = 999999999; // necesita un entero improbable echo paginate_links (array ('base' => str_replace ($ big, '% #%', esc_url (get_pagenum_link ($ big))), 'format' => '? paged =% #%' , 'current' => max (1, get_query_var ('paged')), 'total' => $ wp_query-> max_num_pages));

    wp_die ()

    Esta función complementa el PHP. morir() función. La diferencia es que esta función mostrará un HTML de estilo WordPress en lugar de solo un texto sin formato. Puede utilizar esta función para detener la ejecución de PHP. Puede agregar el mensaje, el título y los argumentos adicionales que se mostrarán, por ejemplo:

     wp_die ("Oops, no tienes acceso a", "Permiso denegado"); 

    has_block ()

    En la versión 5.0, WordPress introdujo un editor basado en bloques, cuyo nombre en código era Gutenberg. Esta función identificará si el contenido contiene un Gutenberg, exactamente lo mismo que el contenido has_shortcode () función. Volverá cierto si el contenido contiene un bloque, o falso si no lo hace.

    wp_set_script_translations ()

    Dado que muchas partes de la interfaz de usuario de WordPress se moverán a JavaScript, necesitan una forma conveniente de registrar textos traducibles en el JavaScript que WordPress pueda analizar y comprender. Utilice esta función para establecer cadenas traducidas para sus scripts. A continuación se muestra un ejemplo:

    wp_enqueue_script ('my-script', plugins_url ('js / my-script.js', __FILE__)); wp_set_script_translations ('my-script', 'mu-text-domain');

    register_block_type ()

    Otra función destacada en WordPress 5.0. Esta función le permite registrar un nuevo bloque en el nuevo editor de WordPress. Tu bloque aparecerá en el nuevo editor e insertarlo. .

    register_block_type ('my-plugin / new-block', array ('title' => 'New Block', 'icon' => 'megaphone', 'category' => 'widgets', 'render_callback' => 'render_function_callback' ,));

    rest_do_request ()

    Esta función le permite realizar una llamada a los puntos finales de la API REST de WordPress a través de PHP. Bastante útil cuando necesita recuperar una salida de la API REST para procesar que procesará más en el lado de PHP en lugar de en el lado del navegador (front-end).

    $ request = new WP_REST_Request ('GET', "/ wp / v2 / posts"); $ request-> set_header ('X-WP-Nonce', wp_create_nonce ('wp_rest')); $ respuesta = rest_do_request ($ solicitud); $ datos = 200 === $ respuesta-> get_status ()? $ respuesta-> get_data (): [];

    rest_preload_api_request ()

    Cuando se construye una IU pesada en JavaScript en WordPress, normalmente se necesita un conjunto de datos iniciales cargados previamente en la página. Esta es la función que te permitirá hacerlo. Esta función está destinada a ser utilizada junto con el array_reduce, por ejemplo.

     // Precargar datos comunes. $ preload_paths = array ('/', '/ wp / v2 / types? context = edit', '/ wp / v2 / taxonomies? per_page = -1 & context = edit', '/ wp / v2 / themes? status = active' ,); preload_data = array_reduce ($ preload_paths, 'rest_preload_api_request', array ()); wp_add_inline_script ('wp-api-fetch', sprintf ('wp.apiFetch.use (wp.apiFetch.createPreloadingMiddleware (% s));', wp_json_encode ($ preload_data)), 'after'); 

    Conclusión

    Estas son solo algunas de las funciones que parecen menos conocidas que el resto. Descubrí una nueva gran función cada dos meses y estoy seguro de que mis amigos desarrolladores podrían sorprendernos aún más..

    Si tiene una función oscura favorita o una función que sería útil pero no está disponible, háganoslo saber en los comentarios.!