sql >> Base de Datos >  >> RDS >> Mysql

Exportar lista de bonitos enlaces permanentes y título de publicación

Aquí hay un archivo PHP independiente que puede guardar en la raíz de su sitio web llamado algo así como /export.php y cuando lo llame con su navegador, enviará un texto sin formato delimitado por tabulaciones lista de publicaciones con el bonito enlace permanente, el título de la publicación y (como beneficio adicional) el tipo de publicación.

Simplemente cargue la URL en su navegador y luego "guardar como " a un archivo de texto que luego puede cargar en Excel o como quiera que necesite procesarlo.

<?php

include "wp-load.php";

$posts = new WP_Query('post_type=any&posts_per_page=-1&post_status=publish');
$posts = $posts->posts;
/*
global $wpdb;
$posts = $wpdb->get_results("
    SELECT ID,post_type,post_title
    FROM {$wpdb->posts}
    WHERE post_status<>'auto-draft' AND post_type NOT IN ('revision','nav_menu_item')
");
*/

header('Content-type:text/plain');
foreach($posts as $post) {
    switch ($post->post_type) {
        case 'revision':
        case 'nav_menu_item':
            break;
        case 'page':
            $permalink = get_page_link($post->ID);
            break;
        case 'post':
            $permalink = get_permalink($post->ID);
            break;
        case 'attachment':
            $permalink = get_attachment_link($post->ID);
            break;
        default:
            $permalink = get_post_permalink($post->ID);
            break;
    }
    echo "\n{$post->post_type}\t{$permalink}\t{$post->post_title}";
}

Espero que esto ayude.

-Mike

PD Usé el estándar de WordPress WP_Query() pero también incluyó un SQL comentado en caso de que prefiera (o necesite) usarlo en su lugar.