sql >> Database >  >> RDS >> Mysql

Lijst met mooie permalinks en posttitel exporteren

Hier is een op zichzelf staand PHP-bestand dat u kunt opslaan in de hoofdmap van uw website met de naam /export.php en wanneer u het oproept met uw browser, stuurt het een door tabs gescheiden platte tekst lijst met berichten met de mooie permalink, de titel van het bericht en (als bonus) het berichttype.

Laad gewoon de URL in uw browser en vervolgens "opslaan als " naar een tekstbestand dat u vervolgens in Excel kunt laden of hoe u het ook anders moet verwerken.

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

Ik hoop dat dit helpt.

-Mike

PS Ik gebruikte de standaard WordPress WP_Query() maar bevatte ook een becommentarieerde SQL voor het geval je deze liever (of nodig hebt) in plaats daarvan.



  1. Hoe RADIANS() werkt in MariaDB

  2. MySQL-fout:je hebt een fout in je SQL-syntaxis; controleer de handleiding die overeenkomt met uw MySQL-serverversie voor de juiste syntaxis om te gebruiken in de buurt van

  3. Select invoerveld vullen met waarde uit mysql

  4. Caching in PostgreSQL