การสร้าง shortcode ในเวิร์ดเพรส

Shortcode คืออะไร

shortcode หน้าตามันจะเป็นแบบนี้ [shortcode] คือมันจะเป็นตัวหนังสือคำว่าอะไรก็ไม่รู้แหละ คร่อมด้วยเครื่องหมาย [] คำข้างในขึ้นอยู่กับโปรแกรมเมอร์ว่าจะให้มันแปลว่าอะไร

Shortcode ประโยชน์ของมันคืออะไร

ประโยชน์จริงๆของ shortcode นั้นคือเราสามารถเอามันไปวางแสดงที่ตรงไหนก็ได้  ให้ลองคิดภาพอย่างนี้นะ เราเป็นคนรับทำธีมแล้วเรามีตารางๆหนึ่งที่เราเองก็ยังไม่รู้ว่ายูสเซอร์อยากเอาไปแสดงที่ตรงไหน  ถ้าเป็นอย่างนี้นะ ให้เราเขียนตารางนั้นขึ้นมาเป็น shortcode  ยูสเซอร์อยากเอาไปแสดงที่ไหนก็เอาไปแปะเอา

พูดง่ายๆ shortcode ก็คือโค้ดชุดหนึ่งที่เราแปลงให้มันสั้นๆอยู่ในรูปของ [shortcode]  แบบนี้

Shortcode สร้างยังไง

ทีนี้ถ้าเราต้องการสร้าง shortcode ให้เขียนโค้ดอย่างนี้


add_action( 'init', 'register_shortcodes' );

function register_shortcodes()
{
	add_shortcode( 'pricetable', 'pricetable_content' );
}

function pricetable_content($attr)
{
	ob_start();
	?>
	<table>
	<tr>
		<th>Company</th>
		<th>Contact</th>
		<th>Country</th>
	</tr>
	<tr>
		<td>Alfreds Futterkiste</td>
		<td>Maria Anders</td>
		<td>Germany</td>
	</tr>
	<tr>
		<td>Centro comercial Moctezuma</td>
		<td>Francisco Chang</td>
		<td>Mexico</td>
	</tr>
	</table>
	<?php 
	return ob_get_clean();
}

คำสั่งสำคัญก็คือ

add_shortcode( 'pricetable', 'pricetable_content' );  

มันจะเป็นตัวบอกว่าเราสร้าง shortcode ชื่อ pricetable ขึ้นมาโดยเมื่อแสดงผล shortcode ตัวนี้ให้ไปรันฟังก์ชั่น pricetable_content

ฟังก์ชั่น pricetable_content ส่งค่าอะไรกลับมามันก็เอาค่านั้นแหละไปแสดง เพราะฉะนั้นในฟังก์ชั่น pricetable_content เราจะเขียน HTML เป็นยังไงก็ได้

ตอนเอาไปใช้

ตอนแสดงผล