如何在WordPress中获取所有页面的固定链接?

要在 WordPress 中获取所有页面的固定链接,你可以使用get_pages()函数获取所有页面,然后循环遍历并使用get_permalink()获取每个页面的固定链接。

以下是实现这一功能的代码示例:

// 获取所有页面
$all_pages = get_pages();

// 存储所有页面固定链接的数组
$page_permalinks = array();

// 循环遍历所有页面并获取固定链接
if (!empty($all_pages)) {
    foreach ($all_pages as $page) {
        // 获取当前页面的固定链接
        $permalink = get_permalink($page->ID);
        
        // 将页面ID、标题和链接存入数组
        $page_permalinks[] = array(
            'id' => $page->ID,
            'title' => $page->post_title,
            'permalink' => $permalink
        );
    }
}

// 示例:打印所有页面的固定链接
if (!empty($page_permalinks)) {
    echo '<ul>';
    foreach ($page_permalinks as $page) {
        echo '<li><a href="' . esc_url($page['permalink']) . '">' . esc_html($page['title']) . '</a> (ID: ' . $page['id'] . ')</li>';
    }
    echo '</ul>';
}

这段代码的工作原理:

  1. 使用get_pages()获取所有页面的数组(包含页面 ID、标题等信息)
  2. 初始化一个数组用于存储结果
  3. 循环遍历每个页面,使用get_permalink($page->ID)获取固定链接
  4. 将页面 ID、标题和链接存入数组,方便后续使用
  5. 最后示例代码将所有链接以列表形式输出

如果你需要在主题文件中使用,可以将这段代码放在合适的位置(如page.phpsidebar.php等)。如果需要在插件中使用,确保在 WordPress 加载完成后执行(可以放在init钩子中)。

注意使用esc_url()esc_html()进行安全过滤,这是 WordPress 开发的最佳实践。

THE END
喜欢就支持一下吧

相关推荐

评论

抢沙发
G
Guest
No Comment
There's nothing here!