Skip to content

2.4 新手必备知识点:PHP 基础语法

PHP是WordPress的核心编程语言,了解PHP的基础语法对于WordPress主题开发至关重要。本章节将介绍WordPress主题开发中最常用的PHP基础语法,帮助你快速入门。

PHP 基本概念

PHP(Hypertext Preprocessor)是一种服务器端脚本语言,主要用于Web开发。在WordPress中,PHP用于处理动态内容、与数据库交互、生成HTML等。

PHP 标记

PHP代码必须包含在PHP标记中:

php
<?php
// PHP代码
?>

在HTML文件中嵌入PHP代码:

php
<p>当前时间:<?php echo date('Y-m-d H:i:s'); ?></p>

变量

变量用于存储数据,在PHP中,变量以$符号开头。

变量声明

php
$name = "John";
$age = 25;
$price = 99.99;
$is_active = true;

变量类型

PHP是弱类型语言,变量类型会根据赋值自动转换:

  • 字符串$name = "John"
  • 整数$age = 25
  • 浮点数$price = 99.99
  • 布尔值$is_active = true
  • 数组$colors = array("red", "green", "blue")
  • 对象$user = new User()
  • NULL$variable = null

输出

在PHP中,有多种输出数据的方法:

echo

用于输出一个或多个字符串:

php
echo "Hello, World!";
echo "Name: " . $name . "<br>";
echo "Age: $age";

print

与echo类似,但只输出一个字符串,返回值为1:

php
print "Hello, World!";

printf

格式化输出:

php
$name = "John";
$age = 25;
printf("Name: %s, Age: %d", $name, $age);

运算符

算术运算符

php
$a = 10;
$b = 5;

$sum = $a + $b;      // 15
$difference = $a - $b; // 5
$product = $a * $b;    // 50
$quotient = $a / $b;   // 2
$remainder = $a % $b;  // 0

赋值运算符

php
$a = 10;
$a += 5; // 相当于 $a = $a + 5; // 15
$a -= 3; // 相当于 $a = $a - 3; // 12
$a *= 2; // 相当于 $a = $a * 2; // 24
$a /= 4; // 相当于 $a = $a / 4; // 6

比较运算符

php
$a = 10;
$b = 5;

$a == $b;  // 等于,返回false
$a != $b;  // 不等于,返回true
$a > $b;   // 大于,返回true
$a < $b;   // 小于,返回false
$a >= $b;  // 大于等于,返回true
$a <= $b;  // 小于等于,返回false
$a === $b; // 恒等于(值和类型都相同),返回false

逻辑运算符

php
$x = true;
$y = false;

$x && $y; // 与,返回false
$x || $y; // 或,返回true
!$x;      // 非,返回false

条件语句

if 语句

php
$age = 18;

if ($age >= 18) {
    echo "你是成年人";
} elseif ($age >= 13) {
    echo "你是青少年";
} else {
    echo "你是儿童";
}

switch 语句

php
$color = "red";

switch ($color) {
    case "red":
        echo "红色";
        break;
    case "green":
        echo "绿色";
        break;
    case "blue":
        echo "蓝色";
        break;
    default:
        echo "未知颜色";
}

循环语句

for 循环

php
for ($i = 0; $i < 5; $i++) {
    echo "数字:$i<br>";
}

while 循环

php
$i = 0;
while ($i < 5) {
    echo "数字:$i<br>";
    $i++;
}

foreach 循环(用于数组)

php
$colors = array("red", "green", "blue");

foreach ($colors as $color) {
    echo "颜色:$color<br>";
}

// 带键名的foreach
$person = array("name" => "John", "age" => 25, "city" => "New York");

foreach ($person as $key => $value) {
    echo "$key: $value<br>";
}

函数

函数是一段可重用的代码块,用于执行特定任务。

函数定义

php
function sayHello($name) {
    echo "Hello, $name!";
}

// 调用函数
sayHello("John");

函数返回值

php
function add($a, $b) {
    return $a + $b;
}

$result = add(5, 3);
echo $result; // 8

函数默认参数

php
function sayHello($name = "Guest") {
    echo "Hello, $name!";
}

sayHello(); // 输出 "Hello, Guest!"
sayHello("John"); // 输出 "Hello, John!"

数组

数组用于存储多个值。

索引数组

php
$colors = array("red", "green", "blue");
// 或
$colors = ["red", "green", "blue"];

// 访问数组元素
echo $colors[0]; // red
echo $colors[1]; // green

// 修改数组元素
$colors[2] = "yellow";

// 获取数组长度
echo count($colors); // 3

关联数组

php
$person = array(
    "name" => "John",
    "age" => 25,
    "city" => "New York"
);
// 或
$person = [
    "name" => "John",
    "age" => 25,
    "city" => "New York"
];

// 访问数组元素
echo $person["name"]; // John

// 修改数组元素
$person["age"] = 26;

数组函数

php
// 向数组末尾添加元素
$colors = ["red", "green"];
array_push($colors, "blue");

// 从数组末尾删除元素
array_pop($colors);

// 遍历数组
foreach ($colors as $color) {
    echo $color . "<br>";
}

字符串操作

字符串连接

php
$name = "John";
$greeting = "Hello, " . $name . "!";
echo $greeting; // Hello, John!

// 或使用双引号内插
$greeting = "Hello, $name!";
echo $greeting; // Hello, John!

字符串函数

php
$str = "Hello, World!";

echo strlen($str); // 13(字符串长度)
echo strtoupper($str); // HELLO, WORLD!(转为大写)
echo strtolower($str); // hello, world!(转为小写)
echo substr($str, 0, 5); // Hello(截取子串)
echo str_replace("World", "John", $str); // Hello, John!(替换)

包含文件

在WordPress主题中,经常需要包含其他PHP文件。

include

php
include 'header.php';

如果文件不存在,会产生警告,但脚本会继续执行。

require

php
require 'header.php';

如果文件不存在,会产生致命错误,脚本停止执行。

include_once 和 require_once

与include和require类似,但只会包含文件一次,避免重复包含。

php
include_once 'functions.php';
require_once 'config.php';

WordPress 中常用的 PHP 技巧

1. 输出变量

php
// 安全输出变量(防止XSS攻击)
echo esc_html($variable);

// 输出URL
echo esc_url($url);

// 输出HTML属性
echo esc_attr($attribute);

2. 条件判断

php
// 检查是否为首页
if (is_home()) {
    // 首页逻辑
}

// 检查是否为单篇文章
if (is_single()) {
    // 文章页逻辑
}

// 检查是否为页面
if (is_page()) {
    // 页面逻辑
}

3. 循环

php
// WordPress文章循环
if (have_posts()) {
    while (have_posts()) {
        the_post();
        // 文章内容
    }
}

4. 函数定义

php
// 在functions.php中定义函数
function my_theme_setup() {
    // 主题设置
}
add_action('after_setup_theme', 'my_theme_setup');

常见错误及解决方法

1. 语法错误

问题:PHP语法错误,如缺少分号、括号不匹配等

解决方法

  • 检查代码中的语法错误
  • 使用代码编辑器的语法高亮功能
  • 查看PHP错误信息

2. 变量未定义

问题:使用未定义的变量

解决方法

  • 确保变量在使用前已定义
  • 使用isset()函数检查变量是否存在

3. 文件路径错误

问题:包含文件时路径错误

解决方法

  • 使用WordPress提供的路径函数
  • 检查文件路径是否正确

4. 函数重复定义

问题:函数被重复定义

解决方法

  • 使用function_exists()检查函数是否已存在
  • 使用include_oncerequire_once避免重复包含

最佳实践

  1. 代码风格:遵循WordPress编码规范
  2. 安全性:使用WordPress提供的安全函数(如esc_html()
  3. 性能:避免在循环中执行复杂操作
  4. 可读性:使用清晰的变量名和函数名
  5. 注释:为复杂代码添加注释

小结

PHP是WordPress主题开发的基础,掌握PHP基础语法对于开发WordPress主题至关重要。通过本章节的学习,你应该:

  1. 了解PHP的基本语法和概念
  2. 掌握变量、运算符、条件语句、循环语句和函数的使用
  3. 了解数组和字符串的操作
  4. 掌握包含文件的方法
  5. 了解WordPress中常用的PHP技巧

在后续的章节中,我们将在实际主题开发中应用这些PHP知识。

© 2026 编程马·菜鸟教程 版权所有