wordpress 常用函数

◆esc_url()

获取站点地址

<?php echo esc_url( home_url( '/' ) ); ?>

◆get_bloginfo()

返回的信息通常来自于 WordPress 后台的 “设置” 选项中的各项配置,如:返回网站标题

<?php get_bloginfo('name'); ?>

◆get_template_directory_uri()

返回当前活动主题的根目录的绝对 URL

<img src="<?php echo get_template_directory_uri().'/assets/src/img/logo-white.svg' ?>">
<!--   输出结果:  -->
<img src="https://example3.chenzhuzhen.cn/wp-content/themes/example3/assets/src/img/logo-white.svg">

◆__()

__() 函数标记文本,WordPress 可以借助翻译文件(如 .po 和 .mo 文件)将这些文本替换为对应语言的翻译内容。当网站切换语言时,相应的文本就会显示为翻译后的内容,从而实现网站的多语言支持。

__( 'Primary Menu', 'example3' )

__() 函数的第一个参数是需要翻译的文本

__() 函数的第二个参数是文本域(Text Domain),它的作用是区分不同主题或插件里的翻译文本。在大型 WordPress 项目中,可能会同时存在多个主题和插件,每个都有自己的翻译需求。

◆_e()

该函数里面包含__() 函数和echo 语句,直接输出至页面。而__() 函数是获取翻译后的字符串并复制给变量,后续继续使用。

◆strip_tags()

PHP 官方函数,用于从字符串中去除 HTML 和 PHP 标签。如:$clean_text = strip_tags(‘Hello, World!‘);执行后 $clean_text 的值为 Hello, World!。

$text = '<p>Hello, <b>World!</b></p>';
$clean_text = strip_tags($text);
echo $clean_text; // 输出: Hello, World!

◆ sanitize_text_field

WordPress 提供的一个函数,用于清理文本字段,除了去除标签外,还会对文本进行更全面的清理。它会去除首尾的空白字符,对特殊字符进行转义,以防止潜在的安全问题,如 SQL 注入和 XSS 攻击。例如:

$text = "  <p>Hello, 'World!'  </p>  ";
$clean_text = sanitize_text_field($text);
echo $clean_text; // 输出: Hello, 'World!'

在处理用户输入时,优先使用 sanitize_text_field 来确保数据的安全性和规范性。

◆ wp_body_open()

<body> 标签刚刚打开之后立即执行的一个钩子调用。比如添加自定义的 JavaScript 代码、触发特定的事件等。

// header.php
<?php wp_body_open(); ?>

// functions.php
<?php
// 在 wp_body_open 钩子中添加自定义脚本
function custom_script_on_body_open() {
    echo '<script>console.log("页面主体开始加载啦!");</script>';
}
add_action( 'wp_body_open', 'custom_script_on_body_open' );
?>

测试结果如下:

♦  标题2

◆ 标题3

段落

段落

段落