Mysql
 sql >> Base de données >  >> RDS >> Mysql

Exporter la liste des jolis permaliens et le titre du message

Voici un fichier PHP autonome que vous pouvez enregistrer à la racine de votre site Web appelé quelque chose comme /export.php et lorsque vous l'appelez avec votre navigateur, il enverra un texte brut délimité par des tabulations liste des posts avec le joli permalien, le titre du post et (en bonus) le type de post.

Chargez simplement l'URL dans votre navigateur, puis "enregistrer sous " dans un fichier texte que vous pouvez ensuite charger dans Excel ou de toute autre manière dont vous avez besoin pour le traiter.

<?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}";
}

J'espère que cela vous aidera.

-Mike

PS J'ai utilisé le standard WordPress WP_Query() mais également inclus un SQL commenté au cas où vous préféreriez (ou auriez besoin) de l'utiliser à la place.