ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingวานเทพ Programmer (Wordpress) แนะนำที...
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: วานเทพ Programmer (Wordpress) แนะนำที...  (อ่าน 930 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
thaiz
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 657



ดูรายละเอียด
« เมื่อ: 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
บันทึกการเข้า
9neo
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 60
ออฟไลน์ ออฟไลน์

กระทู้: 1,411



ดูรายละเอียด
« ตอบ #1 เมื่อ: 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 มาซักพักละ  Tongue
บันทึกการเข้า
playinw
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 17



ดูรายละเอียด
« ตอบ #2 เมื่อ: 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 ผ่าน
« แก้ไขครั้งสุดท้าย: 16 มิถุนายน 2010, 00:37:48 โดย playinw » บันทึกการเข้า
thaiz
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 657



ดูรายละเอียด
« ตอบ #3 เมื่อ: 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 มาซักพักละ  Tongue

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

ขอบคุณครับ +1 เด่วลองของท่าน playinw ต่ออีกอีกครั้งครับ
บันทึกการเข้า
thaiz
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 657



ดูรายละเอียด
« ตอบ #4 เมื่อ: 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=""/>

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

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

 Lips Sealed


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

« แก้ไขครั้งสุดท้าย: 16 มิถุนายน 2010, 00:47:15 โดย thaiz » บันทึกการเข้า
playinw
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 17



ดูรายละเอียด
« ตอบ #5 เมื่อ: 16 มิถุนายน 2010, 00:49:38 »

พอดีมัน return ค่ามาเป็น echo ผมนึกว่า return มาเป็นตัวแปร
« แก้ไขครั้งสุดท้าย: 16 มิถุนายน 2010, 00:57:39 โดย playinw » บันทึกการเข้า
thaiz
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 657



ดูรายละเอียด
« ตอบ #6 เมื่อ: 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" />

 Embarrassed   wanwan004
บันทึกการเข้า
9neo
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 60
ออฟไลน์ ออฟไลน์

กระทู้: 1,411



ดูรายละเอียด
« ตอบ #7 เมื่อ: 16 มิถุนายน 2010, 00:55:00 »

อ่อ จำได้ละ get_custom_field_value('language', true); ฟังชั่นนี้มันจะออกมาในรูป echo ตัวแปรมาเลย Lips Sealed
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์