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