WordPress PHP 指南

已发表: 2020-10-16

想了解 WordPress PHP? 在这篇文章中,我们将解开 PHP 是什么以及它如何与 WordPress 配合使用。 了解 PHP 以及它如何与 WordPress 集成将有助于站点维护、故障排除和 WordPress 开发。

什么是 PHP?

PHP 是 Hypertext Preprocessor 的缩写,是大约 79% 的 Web 使用的脚本语言。 PHP 允许您做许多强大的事情,例如与数据库交互、编写条件语句、获取特定于 WordPress 的信息、提取媒体文件等等。

WordPress PHP

PHP 是 WordPress 的动力,因为大多数 WordPress 核心文件都是用这种语言编写的。 如果您查看 WordPress 网站的文件列表,您会看到大多数文件以 .php 结尾,这意味着该文件是 PHP 文件。 下面屏幕截图中列出的大多数 WordPress PHP 文件都是 WordPress 网站运行所必需的。

WordPress php

PHP 的工作原理:WordPress 网站

让我们看一个在 WordPress 网站上如何使用 PHP 的真实示例。 在此示例中,我们将使用条件语句来确定用户是否已登录:

<?php
if ( true === user_is_logged_in() ) {   
   echo 'You are logged in!';
} else {
   echo 'You are not logged in! Please sign in.';
}

即使您不了解 PHP,您也可以知道用户已登录或未登录。我们使用条件 (if/else) 来检查用户是否已登录,如果是,则我们将显示一条消息欢迎他们,如果他们没有登录,我们将要求他们登录。虽然这只是一个基本示例,但您可以看到条件的强大程度。

您可以看到我们检查了函数“user_is_logged_in”。 我们知道这是一个函数,因为它的名称后面有括号“()”。

如果该函数返回 false,则当代码运行时,它将显示消息:

“你没有登录! 请登录。”

PHP 和 WordPress

仅从上面的示例中,您会注意到 PHP 在 WordPress 中随处可见。 WordPress 有子系统,比如控制显示帖子数量的循环,以及修改功能、API、主题和插件的钩子。

WordPress PHP:启用调试

默认情况下,WordPress 不会显示由 PHP 生成的任何错误/警告。 对于生产中的站点,这是一个很好的做法,但如果您正在开发,那么您希望启用此功能。 要启用调试,只需更改 wp-config.php 文件中的这一行,该文件位于 WordPress 的根目录中:

define( 'WP_DEBUG', false );

只需将常量 WP_DEBUG 更改为true ,然后保存文件。 现在将显示隐藏的任何错误或警告,这正是我们想要的。

循环和查询

查询是一个收集要在页面上显示的帖子的系统,循环是遍历每个帖子并相应地显示它们的系统。 在您的主页上,查询将查找最新的帖子并获取最新的 10 个帖子。 在类别页面上,查询将查找给定类别的 10 个最新帖子。 您还可以修改查询并将其用于您需要完成的工作。

让我们看一个例子:

<?php
 
if ( have_posts() ) {
    
   $i = 0;
 
   while ( have_posts() ) {
 
     $i++;
 
     if ( $i > 1 ) {
 
         echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />';
 
       }
 
       the_post();
 
       get_template_part( 'template-parts/content', get_post_type() );
 
     }
 
} elseif ( is_search() ) {
 
?>
      
	<div class="no-search-results-form section-inner thin">
 
<?php get_search_form( array( 'label' => __( 'search again', 'twentytwenty' ) );
 
?>

代码首先检查函数“have_posts()”是否有任何要循环的数据。 如果是,则将变量$i 设置为 0。然后运行一个while循环,只要条件为真(即有数据要返回),该循环就会运行。 它首先将变量$i增加 1“$i++;”,然后它运行一个条件语句检查变量 $i 是否大于 1。如果是,它会显示一些 HTML 来分​​隔帖子。 之后,使用函数“the_posts()”获取帖子并使用函数“get_template_part()”显示帖子的内容。

如果不满足这个条件,那么它使用“is_search”函数来确定它是否是一个搜索。 如果是,那么它只是渲染一些 HTML 并运行“get_search_form()”函数,要求用户再次搜索。

挂钩

WordPress 为开发人员提供了修改核心功能的机会。 但是,你希望修改核心文件。 这是开发的第 1 条规则,这是一种糟糕的做法。 根据您正在处理的项目,有时可能会很困难,但这就是钩子发挥作用的地方。 WordPress 是关于钩子的,它有两个用于开发的主要钩子。 这两个钩子是动作钩子和过滤器钩子。 Action hooks 允许您添加自定义代码,而 filter hooks 允许您在使用之前修改数据。

让我们自定义wp_footer 以在主题的结束正文标记之前添加我们自己的代码。 如果您打开主题的functions.php,您可以添加以下代码:

function ithemes_footer_code() {
   ?>
    
 
   <p>This is the footer.</p>
 
   <?php
}
add_action( 'wp_footer', 'ithemes_footer_code' );

// ---- END

// ---- BEGIN
if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) {
    function ithemes_custom_length_excerpt( $length ) {
        return 50;
    }
}
add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );

这段代码创建了一个函数“ithemes_footer_code”,用作“add_action()”函数的回调函数。 这个函数包含我们想要在 wp_footer 上执行的代码。 对于 add_action 的第一个参数,我们调用 'wp_footer' 表示此代码将在页脚上运行。 第二个参数是回调函数(我们刚刚制作的函数),它将运行自定义代码。 这是一个动作钩子的例子。

让我们修改帖子摘录的自定义长度。 默认情况下,WordPress 将显示 57 个字符,但我们可以将字符数修改为更多或更少:

if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) {
    function ithemes_custom_length_excerpt( $length ) {
        return 50;
    }
}
add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );

我们首先通过为“function_exists()”函数编写条件来检查我们正在创建的函数是否已经存在。 如果它不存在,那么我们创建我们的函数并以$length作为参数。 然后我们返回 50 的值。之后,我们运行“add_filter()”函数,该函数可以保存 4 个参数,但我们只使用了三个。 这是过滤器钩子的一个例子。

总结:WordPress PHP

如您所见,只需学习 WordPress PHP 的基础知识以及 PHP 如何实现到 WordPress 代码库中,您就可以更好地了解您的网站实际上是如何在后台运行的。 在此处观看有关 PHP 的一些视频教程:语法、WordPress 中的循环和 WordPress 模板标签。

下载清单 PDF:基本 WordPress 维护清单
现在就下载
WordPress的