ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: thaiz ที่ 16 มิถุนายน 2010, 00:12:33



หัวข้อ: วานเทพ Programmer (Wordpress) แนะนำที...
เริ่มหัวข้อโดย: thaiz ที่ 16 มิถุนายน 2010, 00:12:33
พอดีมีข้อสงสัยอยู่เรื่องหนึ่งครับเกี่ยวกับ Wordpress นี่แหละครับ

เรื่องมีอยู่ว่า ผมได้สร้าง Custom field มาตัวหนึ่ง
สมมุติเลยหละกัน

ผมสร้าง Custom Field ชื่อว่า "language"

Field "language" จะมี Value 2 ตัวคือ Thai / English เป็น Text

เวลาผมเรียกใช้งานที่ Template จะใช้คำสั่งนี้

อันนี้เป็นฟังก์ชั่น
โค๊ด:
function get_custom_field_value($szKey, $bPrint = false) {
global $post;
$szValue = get_post_meta($post->ID, $szKey, true);
if ( $bPrint == false ) return $szValue; else echo $szValue;
}

อันนี้แทรกในธีม
โค๊ด:
<?php if ( function_exists('get_custom_field_value') ){
  
get_custom_field_value('language'true);
?>

เวลาแสดงผลก็จะแสดงปกติ คือได้ข้อความที่เป็น Text Value  "Thai" หรือ "English"  อันนี้ผ่านครับ ไม่มีปัญหา

แต่ประเด็นผมอยู่ที่ ผมอยากให้มันแปลงจาก "Thai" หรือ "English"
ที่เป็น Text นี้  เป็น Image รูปธงชาติ ไทย หรือ อังกฤษ ครับ
เพราะ Text มันดูธรรมดาไป ใครช่วยได้ แนะนำผมทีครับ

ขอบคุณล่วงหน้าครับผม

 :wanwan017: :wanwan011:


หัวข้อ: Re: วานเทพ Programmer (Wordpress) แนะนำที...
เริ่มหัวข้อโดย: 9neo ที่ 16 มิถุนายน 2010, 00:20:17
<?php if ( function_exists('get_custom_field_value') ){
  get_custom_field_value('language', true);
  $dd = get_custom_field_value('language', true);
  $flag = ($dd === 'thai') ? '<img src="รูปธงชาติไทย" />' : '<img src="รูปธงชาติอังกฤษ" />';

} ?>

เสร็จแล้ว echo $flag ตามจุดที่ต้องการ แบบนี้ได้มั้ยครับ

เขียนมะกี้นะครับ ไม่ได้จับ wordprress มาซักพักละ  :P


หัวข้อ: Re: วานเทพ Programmer (Wordpress) แนะนำที...
เริ่มหัวข้อโดย: playinw ที่ 16 มิถุนายน 2010, 00:28:01
ไม่เคยใช้ WordPress อ่ะ แต่เดาจาก syntax ที่เห็นนะครับ

สิ่งที่คุณทำคือระบบเลือกภาษา ใช่ไหม ?
และคุณก็ต้องการให้ผู้ใช้เห็นว่าตอนนี้เขากำลังใช้ภาษาอะไรอยู่ โดยแสดงให้ชมเป็นภาพธงชาติ ใช่ไหม

ถ้าใช่ อ่านต่อ

ใช้โค้ดนี้ครับ

โค๊ด:
<?php if ( function_exists('get_custom_field_value') ){
$val get_custom_field_value('language'true);
 if(isset(
$val)) {
echo 
"<img src=".$val.".gif alt=\"\"/>";
}
?>


หรือจะเอาโค้ดที่สสั้นที่สุดเลยก็ได้แบบนี้
โค๊ด:
<?php if ( function_exists('get_custom_field_value') ){
echo 
"<img src=".get_custom_field_value('language'true).".gif alt=\"\"/>";
?>


แล้วก็เตรียม ไฟล์ English.gif กับ Thai.gif วางลงไป (ไฟล์ภาพธงชาตินั่นเอง)
น่าจะได้มั้ง ผมไม่เคยใช้ WordPress หรอกแต่เดาเอาด้วยประสบการ์ณ php

อ้อ แท็ก img ใส่ alt ด้วย มันจะได้ validate w3c ผ่าน


หัวข้อ: Re: วานเทพ Programmer (Wordpress) แนะนำที...
เริ่มหัวข้อโดย: thaiz ที่ 16 มิถุนายน 2010, 00:35:31
<?php if ( function_exists('get_custom_field_value') ){
  get_custom_field_value('language', true);
  $dd = get_custom_field_value('language', true);
  $flag = ($dd === 'thai') ? '<img src="รูปธงชาติไทย" />' : '<img src="รูปธงชาติอังกฤษ" />';

} ?>

เสร็จแล้ว echo $flag ตามจุดที่ต้องการ แบบนี้ได้มั้ยครับ

เขียนมะกี้นะครับ ไม่ได้จับ wordprress มาซักพักละ  :P

ขอบคุณครับ อันนี้ ยังไม่ได้ครับ มันขึ้นข้อความซ้อนกันเลย เช่น "EnglishEnglish"

ขอบคุณครับ +1 เด่วลองของท่าน playinw ต่ออีกอีกครั้งครับ


หัวข้อ: Re: วานเทพ Programmer (Wordpress) แนะนำที...
เริ่มหัวข้อโดย: thaiz ที่ 16 มิถุนายน 2010, 00:45:01
ไม่เคยใช้ WordPress อ่ะ แต่เดาจาก syntax ที่เห็นนะครับ

สิ่งที่คุณทำคือระบบเลือกภาษา ใช่ไหม ?
และคุณก็ต้องการให้ผู้ใช้เห็นว่าตอนนี้เขากำลังใช้ภาษาอะไรอยู่ โดยแสดงให้ชมเป็นภาพธงชาติ ใช่ไหม

ถ้าใช่ อ่านต่อ

ใช้โค้ดนี้ครับ

โค๊ด:
<?php if ( function_exists('get_custom_field_value') ){
$val get_custom_field_value('language'true);
 if(isset(
$val)) {
echo 
"<img src=".$val.".gif alt=\"\"/>";
}
?>


หรือจะเอาโค้ดที่สสั้นที่สุดเลยก็ได้แบบนี้
โค๊ด:
<?php if ( function_exists('get_custom_field_value') ){
echo 
"<img src=".get_custom_field_value('language'true).".gif alt=\"\"/>";
?>


แล้วก็เตรียม ไฟล์ English.gif กับ Thai.gif วางลงไป (ไฟล์ภาพธงชาตินั่นเอง)
น่าจะได้มั้ง ผมไม่เคยใช้ WordPress หรอกแต่เดาเอาด้วยประสบการ์ณ php

อ้อ แท็ก img ใส่ alt ด้วย มันจะได้ validate w3c ผ่าน

โอ้วเกือบแล้วครับท่าน ผม View Source จาก บราวเซอร์ดูมันออกมายังงี้ครับ
English<img src=.gif alt=""/>

 :P
ถ้าได้ผลออกมาแบบนี้เป้นอันเรียบร้อยแน่ ๆ ครับ
<img src=English.gif alt=""/>

แต่ทำยังไงอ่ะครับ

 :-X


ปล ผมใช้วิธีของท่านอันนี้นะครับ
โค๊ด:
<?php if ( function_exists('get_custom_field_value') ){
echo 
"<img src=".get_custom_field_value('language'true).".gif alt=\"\"/>";
?>



หัวข้อ: Re: วานเทพ Programmer (Wordpress) แนะนำที...
เริ่มหัวข้อโดย: playinw ที่ 16 มิถุนายน 2010, 00:49:38
พอดีมัน return ค่ามาเป็น echo ผมนึกว่า return มาเป็นตัวแปร


หัวข้อ: Re: วานเทพ Programmer (Wordpress) แนะนำที...
เริ่มหัวข้อโดย: thaiz ที่ 16 มิถุนายน 2010, 00:53:05
get_custom_field_value('language', true);

เวลาคุณเรียกใช้อันนี้มันแสดงว่า English - Thai เลยหรือเปล่า หรือว่าต้อง
echo get_custom_field_value('language', true); อีกที

โอ้วว ไม่เป็นไรครับ ผมใช้วิธี ถึก ๆ ไปเรียบร้อยครับ ได้ผลด้วยแฮะ

ขอบคุณทุกท่านครับ +1 ทุกท่าน

วิธีผม ถึกโคตะระ
โค๊ด:
<img src="<?php if ( function_exists('get_custom_field_value') ){
   
get_custom_field_value('language'true);
 } 
?>
.gif" />

 :-[   :wanwan004:


หัวข้อ: Re: วานเทพ Programmer (Wordpress) แนะนำที...
เริ่มหัวข้อโดย: 9neo ที่ 16 มิถุนายน 2010, 00:55:00
อ่อ จำได้ละ get_custom_field_value('language', true); ฟังชั่นนี้มันจะออกมาในรูป echo ตัวแปรมาเลย :-X