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

หลังจากที่เราได้รู้จักโครงสร้างไฟล์ของ 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 เป็นเรื่องถัดไปนะครับ สำหรับบทความฉบับนี้ก็ขอจบเพียงเท่านี้ สวัสดีครับ..

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