sql >> Databáze >  >> RDS >> Mysql

Exportujte seznam pěkných trvalých odkazů a název příspěvku

Zde je samostatný soubor PHP, který můžete uložit do kořenového adresáře svého webu, nazvaný něco jako /export.php a když jej zavoláte pomocí prohlížeče, odešle prostý text oddělený tabulátory seznam příspěvků s pěkným trvalým odkazem, názvem příspěvku a (jako bonus) typem příspěvku.

Stačí načíst adresu URL do prohlížeče a poté „uložit jako " do textového souboru, který pak můžete načíst v Excelu nebo jakkoli jinak jej potřebujete zpracovat.

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

Doufám, že to pomůže.

-Mike

P.S. Použil jsem standardní WordPress WP_Query() ale také obsahovalo komentované SQL pro případ, že byste jej raději (nebo potřebovali) použít.



  1. UTF-8 až do konce

  2. Co je ekvivalent bind_result na PDO

  3. Jak zakázat index v innodb

  4. PHP a MySQL:Převod uloženého TIMESTAMP do místního časového pásma uživatele