You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在WordPress中放置测试/实验性PHP代码的位置?含永久链接代码疑问

WordPress永久链接导出代码的正确使用指南

这段PHP代码的作用是批量导出网站所有文章(post类型)的永久链接,下面针对你的疑问逐一解答:

一、代码的正确放置方式

不推荐直接修改核心文件

绝对不要把代码插入public/index.php,原因有三:

  1. WordPress更新核心文件时,你的修改会被直接覆盖;
  2. 每次访问网站任何页面都会执行这段代码,拖慢全站加载速度;
  3. 所有页面都会强制输出一堆链接,完全破坏正常页面的显示逻辑。

推荐两种安全可行的方式

方式1:自定义页面模板

  1. 进入当前主题文件夹(路径:wp-content/themes/你的主题名称),新建一个名为permalink-export.php的文件;
  2. 在文件开头添加页面模板标识,然后粘贴目标代码,完整内容如下:
<?php
/*
Template Name: 永久链接导出页面
*/
get_header();
?>

<?php 
$args = array('post_type' => 'post', 'posts_per_page' => -1 ); 
$loop = new WP_Query($args); 
if( $loop->have_posts() ): 
    while( $loop->have_posts() ): 
        $loop->the_post(); 
        global $post; 
        echo get_permalink($post->ID) . '<br>'; // 加<br>让每个链接单独一行
    endwhile; 
endif; 
wp_reset_query();
?>

<?php get_footer(); ?>
  1. 登录WordPress后台,新建一个页面,在右侧「页面属性」的「模板」选项里选择「永久链接导出页面」,发布页面;
  2. 访问这个新建的页面,就能看到所有文章的永久链接列表了。

方式2:临时独立脚本

  1. 在WordPress根目录(和wp-load.php同目录)新建一个名为export-permalinks.php的文件;
  2. 先加载WordPress环境,再粘贴目标代码,完整内容如下:
<?php
require_once('wp-load.php'); // 加载WordPress核心函数

$args = array('post_type' => 'post', 'posts_per_page' => -1 ); 
$loop = new WP_Query($args); 
if( $loop->have_posts() ): 
    while( $loop->have_posts() ): 
        $loop->the_post(); 
        global $post; 
        echo get_permalink($post->ID) . '<br>';
    endwhile; 
endif; 
wp_reset_query();
?>
  1. 直接访问你的域名+/export-permalinks.php(比如https://你的域名.com/export-permalinks.php),就能看到导出的链接;
  2. 用完记得删除这个文件,避免暴露给无关人员带来安全风险。

二、你的疑问解答

  • 能不能插入public/index.php?:技术上可以,但强烈不建议,后果如前文所述;
  • 会不会每次请求页面时运行?:如果放在index.php里,是的,每次访问任何页面都会执行;如果用上面两种推荐方式,只有访问对应的页面或脚本时才会运行;
  • 为什么放入常规内容页面显示不完整代码?:WordPress的常规文章/页面会自动过滤PHP代码,不会执行,只会把代码当作普通文本显示,还可能因为内容过滤规则截断部分代码,所以无法正常运行。

内容的提问来源于stack exchange,提问作者oksteve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 06:33:13