¿Dónde puedo aprender a usar variables globales en WordPress?

Esta pregunta se explica mejor a través de ejemplos prácticos que de palabras, así que seamos interactivos. En su mayor parte, las variables globales de WordPress son variables conectadas a objetos. En este caso, usaremos el más común – $ post.

La publicación global contiene datos en bruto sobre la ID de la publicación que llena la página en la que se encuentra. Cada página, publicación o tipo de publicación personalizada en WordPress tiene un ID adjunto. ¿Quieres saber qué es? Edita la página y mira en la barra de URL. Verás algo como esto:

/wp-admin/post.php?post=11&action=edit

La ID de la publicación es 11.

Entonces, ¿cómo se relaciona esto con el post global? Me alegra que hayas preguntado! Te lo mostraré, pero primero tenemos que hacer algo de configuración.

Vamos a crear una página en su instalación de WordPress. Estamos utilizando una página porque algunos de ustedes estarán en un servidor en vivo, por lo que no desea que aparezca una publicación de prueba en el índice de su blog. Continúa y crea una página llamada “Prueba”.

Ahora, crea un archivo llamado page-test.php dentro de tu tema. Básicamente, esto le dice a WordPress que use el archivo cada vez que se llama a una página con el “test” slug. Continúa y pon un poco de texto en ese archivo, algo como “¡Hola!”. Subir y ver la página, debería ver una página en blanco con ese texto.

NOTA: Las etiquetas de código de Quora se extraen al azar al momento de escribir. No tengo ni idea de porqué. Es posible que no tenga una sintaxis adecuada de alta iluminación en algunas áreas.

Para que WordPress tenga acceso a la página, necesitaremos colocar todos los ganchos de encabezado y pie de página en su lugar. Reemplace su texto con lo siguiente:

[código php]
<? php
/ **
* La plantilla para mostrar la página de prueba.
* /

get_header (); ?>

Probando el $ post global

[/ código]

Si conoces WordPress, sabes que acabamos de llamar el encabezado, el pie de página, hemos creado un elemento de ajuste, llamado el bucle de publicación y hemos mostrado el contenido. Esa es una página estándar. Agrega algún contenido a la página, lo necesitarás más tarde. Prueba y asegúrate de que funcione.

Esa función, the_content ()? No lo ves, pero está usando el post global. Si avanzamos lo suficiente en la línea, veremos cómo get_the_content () llama a cinco globales diferentes de WordPress:

global $ page, $ more, $ preview, $ pages, $ multipage;

Antes de llenar $ post global: $ post = get_post ();

Que llama al objeto post:
$ _post = WP_Post :: get_instance ($ post);

Sin embargo, no es necesario que comprenda la mayor parte de eso para utilizar el global. Entonces, veamos el RESULTADO de la publicación global en nuestra página de prueba, ¿vale?

Continúa y elimina tu llamada a the_content (). Reemplace el código de su página con lo siguiente:

[código php] <? php
/ **
* La plantilla para mostrar la página de prueba.
* /

get_header (); ?>

Probando el $ post global

global $ post;

echo ‘

'; 
print_r ($ post);
echo '

‘;

[/ código]

Estamos reemplazando la llamada de contenido de WordPress con una salida en bruto de la publicación global. También lo envolvemos en una etiqueta previa de estilo ligero para que se pueda leer. Sin pre, la función print_r () generaría todo en una sola línea.

Guarda, carga, actualiza la página. En mi caso, estoy viendo la página de mi cartera en mi servidor local. Esto es lo que veo:


Entonces, eso es bastante interesante. Es todo el material en bruto que impulsa el contenido principal de la publicación. Puedo ver que el autor es el usuario # 1, razón por la cual si uso la función de autor (también adjunta a su propio objeto global), también puedo extraer todo tipo de cosas al respecto.

En términos prácticos, lo principal que puede hacer con la publicación global es generar sus valores sin procesar. Vamos a eliminar el código de impresión en bruto y hacer eco en un valor en su lugar. Tu página debería verse así:

[código php] <? php
/ **
* La plantilla para mostrar la página de prueba.
* /

get_header (); ?>

Probando el $ post global

global $ post;

echo ‘

'; 
echo $ post-> post_content;
echo '

‘;

[/ código]

Y wow, ese es un resultado bastante crudo, ¿no? Podría hacer que WordPress agregue saltos de párrafo haciendo esto en su lugar:

echo wpautop ($ post-> post_content);

Probablemente vale la pena mencionar que si el global llama a una matriz en lugar de a un objeto, se verá un poco diferente. Si he usado ACF para crear un objeto de imagen, que asigno a una variable:

$ hero = get_field (‘portfolio_hero’);

Entonces tendré que llamar a la imagen más así:

<?php
$hero = get_field('portfolio_hero');
'.$description.'';
?>

La mayoría de las variables globales llaman objetos contra matrices. Si quieres aprender a usarlos, imprímelos y mira lo que hay dentro.

Voy a cerrar con una pequeña bonificación. Me canso de hacer eco de las etiquetas pre cada vez, así que suelto esto en mi archivo functions.php:

<?php
/**
* DEBUG: print a variable result using

 tags 
* @param $var
*/
function outpre(&$var) {
if(empty($var)) {
$output = "variable has no data";
} else {
echo "
"; 
print_r($var);
echo "

";
}
}

Con eso, simplemente puedes colocar esto en una página:


Hace las cosas más fáciles de explorar.