Pequeño howto para lanzar scripts PHP desde línea de comandos y poder trabajar sobre WordPress. Es decir, esta es una técnica con la que, por ejemplo, podríamos hacer un recorrido de todos los posts de una instalación de WordPress, para hacer un trabajo entonces sobre cada uno de ellos.
Esta forma de lanzar scripts es útil mientras que estamos contruyendo un plugin o theme. Así se pueden probar algunas funciones o pocas líneas de código, viendo sin funcionan, para luego cortar y pegar en donde tengan que ir.
Al grano, el código fuente
Si vamos al index.php, veremos que se incluye el fichero wp-blog-header.php. Este wp-blog-header.php incluye a su vez el fichero wp-load.php. Con incluir al inicio de nuestro script uno de los dos estoy viendo que funciona. Un ejemplo recorriendo todos los posts de cualquier tipo en una instalación de WP podría ser:
<?php
//require __DIR__.'/../wp-blog-header.php';
require __DIR__.'/../wp-load.php';
$args = [
'post_type' => 'any',
'numberposts' => -1,
'posts_per_page' => -1,
];
$the_query = new WP_Query($args);
foreach ($the_query->posts as $item) {
//var_dump($item); exit;
echo $item->ID.' '
.$item->post_type.' '
.$item->post_date.' '
.$item->post_modified.' '
.$item->post_title.PHP_EOL;
}
Al ejecutarlo en jnjsite.com se ve un resultado como el siguiente: