คู่มือ WordPress PHP

เผยแพร่แล้ว: 2020-10-16

ต้องการทำความเข้าใจ WordPress PHP หรือไม่? ในบทความนี้ เราจะแกะสิ่งที่ PHP คืออะไรและทำงานอย่างไรกับ WordPress การทำความเข้าใจ PHP และการผสานรวมกับ WordPress จะช่วยในการบำรุงรักษาไซต์ การแก้ไขปัญหาข้อผิดพลาด และการพัฒนา WordPress โดยทั่วไป

PHP คืออะไร?

PHP ย่อมาจาก Hypertext Preprocessor เป็นภาษาสคริปต์ที่ใช้โดยประมาณ 79% ของเว็บ PHP ช่วยให้คุณทำสิ่งต่างๆ ที่ทรงพลังได้มากมาย เช่น การโต้ตอบกับฐานข้อมูล การเขียนคำสั่งแบบมีเงื่อนไข รับข้อมูลเฉพาะของ WordPress ดึงไฟล์สื่อ และอื่นๆ อีกมากมาย

WordPress PHP

PHP คือสิ่งที่ขับเคลื่อน WordPress เนื่องจากไฟล์หลักของ WordPress ส่วนใหญ่เขียนด้วยภาษานี้ หากคุณดูรายชื่อไฟล์ของเว็บไซต์ WordPress คุณจะเห็นว่าไฟล์ส่วนใหญ่ลงท้ายด้วย .php ซึ่งหมายความว่าไฟล์นั้นเป็นไฟล์ PHP ไฟล์ WordPress PHP ส่วนใหญ่ที่แสดงในภาพหน้าจอด้านล่างมีความจำเป็นสำหรับเว็บไซต์ WordPress ในการทำงาน

WordPress php

วิธีการทำงานของ PHP: เว็บไซต์ WordPress

มาดูตัวอย่างการใช้งาน PHP บนเว็บไซต์ WordPress ในโลกแห่งความเป็นจริงกัน ในตัวอย่างนี้ เราจะใช้คำสั่งแบบมีเงื่อนไขเพื่อกำหนดว่าผู้ใช้เข้าสู่ระบบหรือไม่:

<?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” เรารู้ว่านี่เป็นฟังก์ชันเนื่องจากมีวงเล็บ "()" ตามหลังชื่อ

หากฟังก์ชันคืนค่าเป็นเท็จ เมื่อรันโค้ดจะแสดงข้อความ:

"คุณยังไม่ได้เข้าสู่ระบบ! กรุณาเข้าสู่ระบบ."

PHP และ WordPress

จากตัวอย่างข้างต้น คุณจะสังเกตเห็นว่าพบ PHP ได้ทุกที่ใน WordPress WordPress มีระบบย่อย เช่น ลูปที่ควบคุมจำนวนโพสต์ที่แสดง พร้อมด้วย hooks ที่ปรับเปลี่ยนการทำงาน, API, ธีมและปลั๊กอิน

WordPress PHP: เปิดใช้งานการดีบัก

ตามค่าเริ่มต้น WordPress จะไม่แสดงข้อผิดพลาด/คำเตือนใดๆ ที่สร้างโดย PHP นี่เป็นแนวทางปฏิบัติที่ดีสำหรับไซต์ที่กำลังใช้งานจริง แต่หากคุณกำลังพัฒนา คุณต้องเปิดใช้งานสิ่งนี้ หากต้องการเปิดใช้งานการดีบัก เพียงแค่เปลี่ยนบรรทัดนี้ในไฟล์ wp-config.php ซึ่งพบได้ในไดเร็กทอรีรากของ WordPress:

define( 'WP_DEBUG', false );

เพียงเปลี่ยนค่าคงที่ WP_DEBUG เป็น true แล้วบันทึกไฟล์ ข้อผิดพลาดหรือคำเตือนที่ซ่อนอยู่จะปรากฏขึ้นซึ่งเป็นสิ่งที่เราต้องการ

The Loop and the Query

แบบสอบถามคือระบบที่รวบรวมโพสต์ที่จะแสดงบนเพจ และการวนซ้ำคือสิ่งที่ผ่านแต่ละโพสต์และแสดงตามนั้น ในหน้าแรกของคุณ แบบสอบถามจะค้นหาโพสต์ล่าสุดและดึง 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 loop ซึ่งเป็นลูปที่จะทำงานตราบเท่าที่เงื่อนไขเป็นจริง (เช่น มีข้อมูลที่จะส่งคืน) ขั้นแรกจะเพิ่มตัวแปร $i ขึ้น 1 “$i++;” จากนั้นรันคำสั่งแบบมีเงื่อนไขเพื่อตรวจสอบว่าตัวแปร $i มากกว่า 1 หรือไม่ ถ้าใช่ จะแสดง HTML บางส่วนเพื่อแยกโพสต์ หลังจากนี้ รับโพสต์ที่มีฟังก์ชัน “the_posts()” และแสดงเนื้อหาของโพสต์ด้วยฟังก์ชัน “get_template_part()”

หากไม่เป็นไปตามเงื่อนไข ระบบจะใช้ฟังก์ชัน "is_search" เพื่อระบุว่าเป็นการค้นหาหรือไม่ ถ้าใช่ ก็จะแสดง HTML บางส่วนและเรียกใช้ฟังก์ชัน "get_search_form()" ที่ขอให้ผู้ใช้ค้นหาอีกครั้ง

ตะขอ

WordPress ช่วยให้นักพัฒนามีโอกาสแก้ไขฟังก์ชันหลัก อย่างไรก็ตาม คุณ ไม่ ต้องการแก้ไขไฟล์หลัก นี่เป็นกฎข้อที่ 1 ของการพัฒนา และเป็นเพียงการปฏิบัติที่ไม่ดี บางครั้งอาจเป็นเรื่องยากขึ้นอยู่กับโปรเจ็กต์ที่คุณกำลังทำอยู่ แต่นี่คือจุดที่ตะขอเข้ามาเล่น WordPress เป็นเรื่องเกี่ยวกับ hooks และมีสอง hooks หลักที่ใช้สำหรับการพัฒนา ตะขอสองตัวนี้เป็นตะขอแอ็คชั่นและตะขอกรอง Action hook ให้คุณเพิ่มโค้ดที่ปรับแต่งได้ และ 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 รายการ แต่เราใช้เพียง 3 รายการเท่านั้น นี่คือตัวอย่างตะขอตัวกรอง

สรุป: WordPress PHP

อย่างที่คุณเห็น เพียงแค่เรียนรู้พื้นฐานของ WordPress PHP และวิธีที่ PHP ถูกนำไปใช้ในโค้ดเบสของ WordPress จะช่วยให้คุณเข้าใจได้ดีขึ้นว่าไซต์ของคุณทำงานอยู่เบื้องหลังอย่างไร ดูวิดีโอบทแนะนำบางส่วนของเราที่ PHP: Syntax, the Loop ใน WordPress และแท็กเทมเพลต WordPress

ดาวน์โหลดรายการตรวจสอบ PDF: รายการตรวจสอบการบำรุงรักษา WordPress ที่จำเป็น
ดาวน์โหลดเดี๋ยวนี้
WordPress php