Necesito una forma de exportar automáticamente todas las publicaciones de WordPress de una fecha específica y hacer que muestre el archivo en el servidor que se puede descargar diariamente.
La razón por la que se necesita el formato XML es porque el sitio forma parte de una gran red de blogs y el sitio principal no usa WordPress, pero indexa el contenido en sus resultados de búsqueda. La empresa matriz utiliza un analizador XML que no puede manejar los incrementos. Necesita el contenido completo de las publicaciones de una sola vez.
Mi enfoque es crear un trabajo cron usando wp_schedule_event
que se activa export_wp y genera los buffers en un archivo. El problema es que el archivo creado está vacío.
Mi código actual es:
register_activation_hook(__FILE__, 'c3m_my_activation');
add_action('c3m_export_daily', 'c3m_export_xml');
function c3m_my_activation() {
wp_schedule_event(time(), 'daily', 'c3m_export_daily');
}
function c3m_export_xml() {
$ob_file = fopen('server_path_to_my_file.xml','w');
$args=array(
'content' => 'posts',
'start_date' => 'october 2008',
'status' => 'published');
function ob_file_callback($buffer)
{
global $ob_file;
fwrite($ob_file,$buffer);
}
ob_start('ob_file_callback');
export_wp($args);
ob_end_flush();
}
También lo he intentado sin agregar $ args a export_wp pero el archivo todavía está vacío. Espero que esto pueda lograrse con export_wp para que no se tenga que escribir todo desde cero.