我想获取所有已发布页面的固定链接并将其导出到excel文件。
什么是最佳解决方案?
答案 0 :(得分:0)
通过SQL查询可以但非常困难,因为WordPress允许您更改永久链接结构 - 因此SQL查询需要考虑所有永久链接选项,以便在执行查询时构建正确的永久链接。
我想你正在寻找一种不要求你从管理页面复制粘贴链接的方法; - )
到目前为止,最好和最简单的方法是编写一个小脚本,在WordPress中为您运行导出并使用函数get_pages
和get_permalink
:
// Get a list of all published pages from WordPress.
$pages = get_pages( 'post_status=publish' );
// Loop through all pages and fetch the permalink for each page.
for ( $pages as $page ) {
$permalink = get_permalink( $page->ID );
// Do something with the permalink now...
}
注意:此代码只能在WordPress中运行,即插件或主题内部。另外如何进行excel导出超出了我的答案......
就个人而言,我会创建一个WordPress插件(有很多关于它是如何工作的指南,like this one)。 在插件中,您只需检查URL参数,如果存在此参数,则导出数据。另外,我会在导出数据之前检查请求导出的用户是否具有管理员权限。
有点像这样:
/**
* The WordPress plugin header...
*/
$allowed = false;
$requested = false;
// Check if the current user has admin capabilies.
if ( current_user_can( 'manage_options' ) ) { $allowed = true; }
// Check if the user requested the export.
// i.e. by calling URL http://yoursite.com?export_permalinks=1
if ( 1 == $_GET['export_permalinks'] ) { $requested = true; }
if ( $requested && $allowed ) {
// 1. Get a list of all published pages from WordPress.
$pages = get_pages( 'post_status=publish' );
// 2. Build the export data.
$export = array();
for ( $pages as $page ) {
$permalink = get_permalink( $page->ID );
$export[] = array( $page->ID, $permalink );
}
// 3. Export the data (I just var_dump it as example).
var_dump( $export );
// We're done, so don't execute anything else.
exit;
}
请注意,此代码只能解释我建议的工作流程。它不使用最佳做法,我不建议在现场网站上使用它