gpt4 book ai didi

php - wordpress 获取所有发布页面的永久链接

转载 作者:行者123 更新时间:2023-11-30 22:43:02 25 4
gpt4 key购买 nike

我想获取所有已发布页面的永久链接并将其导出到 excel 文件。

什么是最好的解决方案?

  • 我应该转到 wp-admin 面板并从页面编辑器中复制粘贴永久链接吗?
  • 我可以使用 mysql 查询获取导出数据吗?

最佳答案

这是可能的,但很难通过 SQL 查询来实现,因为 WordPress 允许您更改永久链接结构 - 因此 SQL 查询需要考虑所有永久链接选项,以便在执行查询时构建正确的永久链接。

而且我猜您正在寻找一种要求您从管理页面复制粘贴链接的方法;-)

到目前为止,最好和最简单的做法是编写一个小脚本,在 WordPress 中为您运行导出并使用函数 get_pagesget_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.
foreach ( $pages as $page ) { //fixed this too
$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();
foreach ( $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;
}

请注意,此代码应仅解释我建议的工作流程。它不使用最佳实践,我不建议在实际网站上这样使用它

关于php - wordpress 获取所有发布页面的永久链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30556469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com