🌙

20 ฟังก์ชั่นเวิร์ดเพรส (WordPress Functions) ที่ใช้บ่อย

กรกฎาคม 19, 2021 · Worapong Nijjarunkul

หลังจากที่เราได้รู้จักโครงสร้างไฟล์ของ WordPress แล้ว เราก็จะลงลึกไปในส่วนของฟังก์ชั่นเวิร์ดเพรส (WordPress functions) กันครับ ว่า มีฟังก์ชั่น WordPress อะไรที่น่าสนใจบ้าง โดยปกติแล้ว เราสามารถแบ่งแยกฟังก์ชั่นออกเป็นหลายกลุ่มด้วยกัน เช่น ฟังก์ชั่นสำหรับบทความหรือหน้า (Post, Custom Post Type, Page functions) ฟังก์ชั่นหมวดหมู่ (Category, Tag, and Taxonomy function ) ฮุคฟังก์ขั่น (Hook Functions) ฟังก์ชั่นที่ใช้เป็นคอนดิชั่น (Conditional Functions) และฟังก์ชั่นอื่นๆ อีกมากมาย

สำหรับบทความนี้ เราจะมาพูดเฉพาะในส่วนของฟังก์ชั่นที่ใช้บ่อย โดยผมจะทำการคัดเลือกฟังก์ชั่นที่ใช้บ่อยสัก 20 รายการนะครับ  เพื่อที่จะเข้าใจในโค้ดของ WordPress อย่างคร่าวๆ สำหรับผู้ที่เริ่มต้นทำการเขียน WordPress Theme ครับ ส่วนฟังก์ชั่นอื่นๆ ตามหมวดหมู่ที่กล่าวไว้ข้างต้นไว้จะพูดในโอกาสถัดๆ ไป ดังนั้นเรามาดูกันเลย

ฟังก์ชั่นเวิร์ดเพรส (WordPress functions)

wp_title()

ฟังก์ชั่นแสดงชื่อของเว็บไซต์นี้

ตัวอย่าง การแสดงหัวเรื่องของหน้า

 <title><?php wp_title(''); ?></title>

อ่านรายละเอียดเพิ่มเติมได้ที่ https://developer.wordpress.org/reference/functions/wp_title/

add_theme_support()

ฟังก์ชั่นที่ลงทะเบียนความสามารถของ WordPress มาใช้งาน โดย WordPress จะมีความสามารถบางอย่างที่จะต้องทำการลงทะเบียนก่อนถึงจะสามารถใช้งานได้ 

ตัวอย่าง การเรียกใช้งาน HTML5

add_theme_support('html5');

อ่านรายละเอียดเพิ่มเติมได้ที่ https://developer.wordpress.org/reference/functions/add_theme_support/

get_stylesheet_directory()

ฟังก์ชั่นที่แสดงเส้นทางไดเร็กทอรี่สไตล์ชีท (Stylesheet directory path) ของธีมมาแสดง

ตัวอย่าง การเรียกใช้ไฟล์ myfile.php

 include( get_stylesheet_directory() . '/includes/myfile.php' );

ในส่วนของ get_stylesheet_directory() ที่ดึงมาแสดง คือ /home/user/public_html/wp-content/themes/my_theme

อ่านรายละเอียดเพิ่มเติมได้ที่ https://developer.wordpress.org/reference/functions/get_stylesheet_directory/

wp_enqueue_style() และ wp_enqueue_script()

wp_enqueue_style() คือฟังก์ชั่นที่ใช้เรียกใช้ไฟล์ CSS Style และ wp_enqueue_script() คือฟังก์ชั่นที่ใช้เรียกใช้ไฟล์ JavaScript

ตัวอย่าง การเรียกใช้งานฟังก์ชั่น wp_enqueue_style() และ wp_enqueue_script()

function wpdocs_theme_name_scripts() {
      wp_enqueue_style( 'style-name', get_stylesheet_uri() );
      wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/example.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' );

อ่านรายละเอียดเพิ่มเติมที่ https://developer.wordpress.org/reference/functions/wp_enqueue_style/

body_class()

ฟังก์ชั่นที่ดึง CSS Class ของ WordPress มาใช้งาน โดยจะแสดงค่าอัตโนมัติ

ตัวอย่าง การเรียกใช้งาน body_class() ที่แท็ก body

<body <?php body_class(); ?>>

ผลลัพธ์

<body class="page page-id-2 page-parent page-template-default logged-in">

อ่านรายละเอียดเพิ่มเติมที่ https://developer.wordpress.org/reference/functions/body_class/

wp_nav_menu()

ฟังก์ชั่นที่ดึงรายการเมนูมาแสดง โดยเราจะต้องทำการระบุว่า เมนูไหนที่ต้องการมาแสดงผล ณ ตำแหน่งที่ต้องการ

ตัวอย่าง การระบุว่าเมนูที่จะแสดงชื่อเมนู Project Nav

wp_nav_menu( array(
        'menu' => 'Project Nav';
) );

อ่านรายละเอียดเพิ่มเติมที่ https://developer.wordpress.org/reference/functions/wp_nav_menu/

dynamic_sidebar()

ฟังก์ชั่นที่ไว้แสดงผลแถบด้านข้างแบบไดนามิค

ตัวอย่าง การระบุว่า แถบด้านข้าง ชื่อ right-sidebar

<ul id="sidebar">
        <?php dynamic_sidebar( 'right-sidebar' ); ?>
</ul>

อ่านรายละเอียดเพิ่มเติมที่ https://developer.wordpress.org/reference/functions/dynamic_sidebar/

the_title()

ฟังก์ชั่นที่ดึงข้อมูลมาแสดงในส่วนของหัวข้อของเรื่องปัจจุบันมาแสดง

ตัวอย่าง การเปลี่ยนขนาดของหัวข้อให้มีขนาด h3 เราสามารถใช้ the_title() ได้ในทันที หรือ หากต้องการเปลี่ยน markup ก่อนและหลังหัวข้อก็ได้เช่นกัน

<?php the_title( '<h3>', '</h3>' ); ?>

อ่านรายละเอียดเพิ่มเติมที่ https://developer.wordpress.org/reference/functions/the_title/

สอน WordPress หรือ WooCommerce
สอน WordPress หรือ WooCommerce

the_content()

ฟังก์ชั่นที่ดึงข้อมูลมาแสดงในส่วนของเนื้อหาของเรื่องปัจจุบันมาแสดง เราสามารถใช้ the_content() ได้ในทันทีเช่นกัน แต่หากต้องการเพิ่มคำขยายอ่านต่อก็ได้

ตัวอย่าง การเพิ่มคำว่า More หรืออ่านต่อ ในการแสดงเนื้อหา

the_content( 'More ...' );

อ่านรายละเอียดเพิ่มเติมที่ https://developer.wordpress.org/reference/functions/the_content/

the_permalink()

ฟังก์ชั่นที่ดึงข้อมูลมาแสดงในส่วนของลิงก์ของบทความปัจจุบันมาแสดง

ตัวอย่าง การแสดงลิงก์ของหัวข้อ

<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>

อ่านรายละเอียดเพิ่มเติมที่ https://developer.wordpress.org/reference/functions/the_permalink/

the_excerpt()

ฟังก์ชั่นที่ดึงข้อมูลบทคัดย่อหรือย่อหน้าในส่วนของเนื้อหาของเรื่องปัจจุบันมาแสดง

ตัวอย่าง การดึงข้อมูลบทคัดย่อมาแสดง

<?php the_excerpt(); ?>

อ่านรายละเอียดเพิ่มเติมที่ https://developer.wordpress.org/reference/functions/the_excerpt/

the_author()

ฟังก์ชั่นที่ดึงข้อมูลผู้เขียนบทความในส่วนของเนื้อหาของเรื่องปัจจุบันมาแสดง

ตัวอย่าง

<p>This post was written by <?php the_author(); ?></p>

อ่านรายละเอียดเพิ่มเติมได้ที่ https://developer.wordpress.org/reference/functions/the_author/

is_sticky()

ฟังก์ชั่นที่ใช้ตรวจสอบข้อมูลบทความว่าเป็นถูกกำหนดให้เป็น Sticky หรือไม่

ตัวอย่าง

if ( is_sticky() ) {
       echo 'I am sticky!';
}

อ่านรายละเอียดเพิ่มเติมได้ที่ https://developer.wordpress.org/reference/functions/is_sticky/

get_the_post_thumbnail()

ฟังก์ชั่นที่ให้ทำการดึงรูปภาพมาแสดงของบทความปัจจุบัน

ตัวอย่าง

echo get_the_post_thumbnail( $post_id, 'thumbnail', array( 'class' => 'alignleft' ) ); 

เมื่อ $post_id คือ ID ของบทความที่ต้องการแสดงรูป

อ่านรายละเอียดเพิ่มเติมได้ที่ ้ttps://developer.wordpress.org/reference/functions/get_the_post_thumbnail/

get_categories()

ฟังก์ชั่นที่ดึงข้อมูลทุกหมวดหมู่ของบทความปัจจุบัน

ตัวอย่าง

$categories = get_categories( array(
      'orderby' => 'name',
      'order'   => 'ASC',
      'parent'  => 130,
) );
 
foreach( $categories as $category ) {
      $category_link = sprintf( 
                        '<a href="%1$s" alt="%2$s">%3$s</a>',
                        esc_url( get_category_link( $category->term_id ) ),
                        esc_attr( sprintf( __( 'View all posts in %s', 'textdomain' ), 
                        $category->name ) ),
                        esc_html( $category->name )
                        );
 
       echo '<p>' . sprintf( esc_html__( '%s', 'textdomain' ), $category_link ) . '</p> ';
}

จากตัวอย่าง ฟังก์ชั่นนี้จะทำหน้าที่ดึงทุกหมวดหมู่ออกมาแล้วทำการวนลูปของหมวดหมู่แล้วแสดงเป็นรายการแต่ละหมวดหมู่

อ่านรายละเอียดเพิ่มเติมได้ที่ https://developer.wordpress.org/reference/functions/get_categories/

get_post_meta()

ฟังก์ชั่นที่ดึงข้อมูลเพิ่มเติมใน Metabox ของบทความนั้นๆ มาแสดง

ตัวอย่าง การดึงข้อมูล Key_1 ของบทความปัจจุบันมาใช้งาน

<?php $key_1_value = get_post_meta( get_the_ID(), 'key_1', true ); ?>

อ่านรายละเอียดเพิ่มเติมได้ที่ https://developer.wordpress.org/reference/functions/get_post_meta/

is_single()

ฟังก์ชั่นที่ไว้ใช้ตรวจสอบว่า เนื้อหาปัจจุบันนั้นเป็นบทความ (Post) หรือไม่ เป็นลักษณะฟังก์ชั่นคอนดิชั่น

ตัวอย่าง เป็นการระบุว่า จะดึงรูปแบบสไตล์ได้เฉพาะหากหน้านั้นเป็นหน้าบทความ

if ( is_single() ) {
    // wp_enqueue_style( string $handle, string $src = '', array $deps = array(), string|bool|null $ver = false, string $media = 'all' )
}

อ่านรายละเอียดเพิ่มเติมได้ที่ https://developer.wordpress.org/reference/functions/is_single/

is_page()

ฟังก์ชั่นที่ไว้ใช้ตรวจสอบว่า เนื้อหาปัจจุบันนั้นเป็นหน้าหลัก (Page) หรือไม่ เป็นลักษณะฟังก์ชั่นคอนดิชั่น

ตัวอย่าง เป็นการระบุว่าถ้าหน้าที่แสดงเป็นหน้า About Us, Contact, และ Management ให้แสดง hi1 และถ้าไม่ใช่ให้แสดงเป็น hi2

if ( is_page( array( 'about-us', 'contact', 'management' ) ) ) {
     // either in about us, or contact, or management page is in view
	echo ‘hi1’;
} else {
     // none of the page about us, contact or management is in view
	echo ‘hi2’;
}

อ่านรายละเอียดเพิ่มเติมได้ที่ https://developer.wordpress.org/reference/functions/is_page/

do_shortcode()

ฟังก์ชั่นที่ช่วยให้ short code แสดงผล

ตัวอย่าง เป็นการทำให้ Short code ของ Contact Form 7 หมายเลขไอดี 91 ให้แสดงฟอร์มหรือช่องกรอกข้อมูลออกมา

echo do_shortcode( '

Error: Contact form not found.

' );

อ่านรายละเอียดเพิ่มเติมได้ที่ https://developer.wordpress.org/reference/functions/do_shortcode/

พอจะได้ไอเดียกันไหมครับ ว่าแต่ละฟังก์ชั่นใช้งานกันอย่างไร สำหรับบทความหน้าเราจะมาพูดในเรื่องของการ Query และ Conditional Functions เป็นเรื่องถัดไปนะครับ สำหรับบทความฉบับนี้ก็ขอจบเพียงเท่านี้ สวัสดีครับ..

ปรึกษาด้านเว็บไซต์
ปรึกษาด้านเว็บไซต์
Worapong Nijjarunkul

เจ้าของเว็บไซต์ Themevilles.com เป็นผู้เชี่ยวชาญ WordPress ที่มีประสบการณ์มากกว่า 10 ปี และเป็นผู้สอนคอร์ส WordPress บน SkillLane ผู้เรียนไว้วางใจนับพันคนด้วยความเชี่ยวชาญด้านการสร้างและแก้ปัญหาเว็บไซต์ WordPress ทั้งการออกแบบ พัฒนา ปรับความเร็ว ตลอดจนการทำ SEO — ทำให้ Themevilles.com เป็นแหล่งความรู้และบริการด้าน WordPress ที่มืออาชีพและเจ้าของธุรกิจให้ความไว้วางใจมายาวนาน หากคุณต้องการเว็บไซต์ที่สวย เร็ว ปลอดภัย และรองรับ SEO อย่างถูกต้อง ที่นี่คือคำตอบสำหรับคุณ