sql >> Database teknologi >  >> RDS >> Mysql

Eksporter liste over smukke permalinks og posttitel

Her er en selvstændig PHP-fil, du kan gemme i roden af ​​dit websted kaldet noget som /export.php og når du kalder det med din browser, vil det sende en tabulator-separeret almindelig tekst liste over indlæg med det smukke permalink, indlægstitlen og (som en bonus) indlægstypen.

Indlæs blot URL'en i din browser og derefter "gem som " til en tekstfil, du så kan indlæse i Excel, eller hvordan du ellers skal behandle den.

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

Håber dette hjælper.

-Mike

P.S. Jeg brugte standard WordPress WP_Query() men inkluderede også en kommenteret SQL, hvis du foretrækker (eller har brug for) at bruge den i stedet.



  1. Hvad er den rigtige syntaks for IF-sætning i MySQL?

  2. Hvordan indsætter man flere poster og får identitetsværdien?

  3. Nærmeste steder med bredde- og længdegrad

  4. Hvad er den bedste MySQL-samling til tysk sprog