正在寻找一种方法来导出WordPress中相当永久链接的列表以及相应的帖子标题.寻找实际的永久链接结构而不是短链接.我想如果必须,我会使用一个简短的链接,但我更喜欢完整的永久链接.
解决方法:
这是一个独立的PHP文件,您可以保存到您的网站的根目录,例如/export.php,当您使用浏览器调用它时,它将发送一个制表符分隔的纯文本列表,其中包含非常永久链接,帖子标题和(作为奖励)帖子类型.
只需在浏览器中加载URL,然后“另存为”文本文件,然后可以在Excel中加载,否则您需要处理它.
<?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}";
}
希望这可以帮助.
-麦克风
附:我使用标准的WordPress WP_Query(),但如果您更喜欢(或需要)使用它,还会包含一个已注释掉的SQL.