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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์CMS & Free Scriptผมจะดึง Custom Fields มาแสดงทำยังไงครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ  (อ่าน 1499 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
T l2 0 J A N
ก๊วนเสียว
*

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

กระทู้: 462



ดูรายละเอียด เว็บไซต์
« เมื่อ: 15 เมษายน 2010, 20:27:51 »

ปรกติผมสามารถทำให้มันแสดงได้โดยนำ code ด้านล่างนี้ไปใส่ไว้ใน single.php ของธีมที่ใช้

โค๊ด:
<?php echo get_post_meta($post->ID, &#39;code1&#39;, $single = true); ?>


แต่ทีนี้ผมสร้างสสร้าง page ขึ้นมาใหม่สมมุติชื่อว่า test.php เอาไว้ folder นอกสุดแล้วเอา code ตามด้านบนไปใส่

และให้มันแสดงใน single.php โดยใช้ iframe ตาม code ด้านล่าง

โค๊ด:
<iframe marginwidth="0" marginheight="0" frameborder="0" width="530" scrolling="yes" height="450" target="_blank" src="test.php" allowtransparency="true"></iframe>


ปรากฏว่าขึ้น Fatal error ตาม code ด้านล่าง




ไม่ทราบว่าผมต้องทำยังไงที่จะดึง Custom Fields มาแสดงได้ โดยสร้าง page ขึ้นมาเองครับ

ผมไม่มีความรู้เรื่องการทำเว็บเท่าไร ช่วยชี้แนะด้วยครับ
« แก้ไขครั้งสุดท้าย: 15 เมษายน 2010, 20:38:35 โดย T l2 0 J A N » บันทึกการเข้า

รับสกรีนเคส พิมพ์เคส ราคาถูกLikemecase.com

ทำเคส สกรีนเคส สั่งทำเคส
belief1976
คนรักเสียว
*

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

กระทู้: 165



ดูรายละเอียด
« ตอบ #1 เมื่อ: 15 เมษายน 2010, 20:38:42 »

ให้ include ไฟล์ที่มีฟังชั่น get_post_meta(); ในไฟล์ test.php ด้วยครับ
บันทึกการเข้า

T l2 0 J A N
ก๊วนเสียว
*

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

กระทู้: 462



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 15 เมษายน 2010, 21:05:50 »

ให้ include ไฟล์ที่มีฟังชั่น get_post_meta(); ในไฟล์ test.php ด้วยครับ

ผมลอง include ไฟล์ functions.php มัน error ไฟล์ที่ include อ่าครับ
บันทึกการเข้า

รับสกรีนเคส พิมพ์เคส ราคาถูกLikemecase.com

ทำเคส สกรีนเคส สั่งทำเคส
belief1976
คนรักเสียว
*

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

กระทู้: 165



ดูรายละเอียด
« ตอบ #3 เมื่อ: 15 เมษายน 2010, 21:23:28 »

ลอง run เฉพาะไฟล์ test.php ดูก่อนครับ
ตาม error ที่เห็นเป็นเพราะไหล์ test.php ไม่เจอ function ครับ

ถ้ายังไม่ได้จริงส่งมาให้แก้ให้ก็ได้ครับ
บันทึกการเข้า

AuGusTin
Verified Seller
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,122



ดูรายละเอียด
« ตอบ #4 เมื่อ: 15 เมษายน 2010, 21:34:29 »

ลองใส่บรรทัดนี้ บนสุดของโค้ดน่ะครับ

โค๊ด:
require( '../my_wordpress_install_root/wp-load.php' );

อย่าลืมเปลี่ยนชื่อโฟลเดอร์ของ wordpress น่ะครับ  wanwan013
บันทึกการเข้า

T l2 0 J A N
ก๊วนเสียว
*

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

กระทู้: 462



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 15 เมษายน 2010, 21:44:00 »

ลอง run เฉพาะไฟล์ test.php ดูก่อนครับ
ตาม error ที่เห็นเป็นเพราะไหล์ test.php ไม่เจอ function ครับ

ถ้ายังไม่ได้จริงส่งมาให้แก้ให้ก็ได้ครับ



คือ Custom Fields ที่ผมสร้างตัวอย่างตามรูป ในแต่ล่ะ Post ผมจะสร้างขึ้นมาเป็น code1,code2,code3,code4,code5,code6 มากน้อยก็แล้วแต่กำหนด และในช่อง Value ก็จะแตกต่างกัน



ผมสร้างสร้างไฟล์ขึ้นมาใหม่สมมุติชื่อว่า test1.php,test2.php,test3.php,test4.php,test5.php,test6.php

test1.php ก็จะแสดง Value ของ code1, test2.php ก็จะแสดง Value ของ code2, test3.php ก็จะแสดง Value ของ code3

แบบนี้อ่ะครับ

และผมจะเอาหน้าพวกนี้ test1-6.php ให้มันแสดงใน single.php โดยใช้ iframe

จะเขียน code ยังไงดีครับ  wanwan020

« แก้ไขครั้งสุดท้าย: 15 เมษายน 2010, 21:49:13 โดย T l2 0 J A N » บันทึกการเข้า

รับสกรีนเคส พิมพ์เคส ราคาถูกLikemecase.com

ทำเคส สกรีนเคส สั่งทำเคส
T l2 0 J A N
ก๊วนเสียว
*

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

กระทู้: 462



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 15 เมษายน 2010, 22:00:39 »

ลองใส่บรรทัดนี้ บนสุดของโค้ดน่ะครับ

โค๊ด:
require( '../my_wordpress_install_root/wp-load.php' );

อย่าลืมเปลี่ยนชื่อโฟลเดอร์ของ wordpress น่ะครับ  wanwan013


มันไม่มีอะไรขึ้นมาเลยอ่าครับ ไม่มี error และก็ไม่มีข้อความจาก Custom Fields ที่สร้างไว้  Shocked
« แก้ไขครั้งสุดท้าย: 15 เมษายน 2010, 22:02:35 โดย T l2 0 J A N » บันทึกการเข้า

รับสกรีนเคส พิมพ์เคส ราคาถูกLikemecase.com

ทำเคส สกรีนเคส สั่งทำเคส
g-ji
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 3,254



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 15 เมษายน 2010, 22:21:26 »

test.php อยู่ใน root (ที่เดียวกับ wp-config.php) เหรอ

ย้ายมันไปไว้ในธีมสิ

แล้วแก้ iframe

โค๊ด:
<iframe marginwidth="0" marginheight="0" frameborder="0" width="530" scrolling="yes" height="450" target="_blank" src="<?php bloginfo('template_directory'); ?>/test.php" allowtransparency="true"></iframe>

แบบนี้น่าจะได้นะ

บันทึกการเข้า

T l2 0 J A N
ก๊วนเสียว
*

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

กระทู้: 462



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 15 เมษายน 2010, 23:00:11 »

test.php อยู่ใน root (ที่เดียวกับ wp-config.php) เหรอ

ย้ายมันไปไว้ในธีมสิ

แล้วแก้ iframe

โค๊ด:
<iframe marginwidth="0" marginheight="0" frameborder="0" width="530" scrolling="yes" height="450" target="_blank" src="<?php bloginfo('template_directory'); ?>/test.php" allowtransparency="true"></iframe>

แบบนี้น่าจะได้นะ




ลองทำแล้วมันก็ error เหมือนโพสแรกอ่าครับ




บันทึกการเข้า

รับสกรีนเคส พิมพ์เคส ราคาถูกLikemecase.com

ทำเคส สกรีนเคส สั่งทำเคส
sleepcat
ก๊วนเสียว
*

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

กระทู้: 286



ดูรายละเอียด
« ตอบ #9 เมื่อ: 15 เมษายน 2010, 23:23:53 »

ลองใช้

โค๊ด:

<iframe marginwidth="0" marginheight="0" frameborder="0" width="530" scrolling="yes" height="450" target="_blank" src="test.php?code1=<?php echo get_post_meta($post->ID'code1'$single true); ?>" allowtransparency="true"></iframe>


ดูนะครับ
โดยไฟล์ test.php มีตัว $_GET['code1'] ไปทำงานต่อ

ปล. ผมไม่ได้ลองนะครับ แค่คิดแนวทางนี้น่าจะได้ Tongue
« แก้ไขครั้งสุดท้าย: 15 เมษายน 2010, 23:45:47 โดย sleepcat » บันทึกการเข้า
g-ji
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 3,254



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 16 เมษายน 2010, 00:11:12 »

ok ได้ล่ะ

 Tongue

ลองทำตั้งนาน

เอาโค้ดนี้ไปใส่ใน test.php

โค๊ด:
<?php include_once($_SERVER['DOCUMENT_ROOT'].'/test/wp-load.php'); ?>

<?php query_posts('post_meta='.array('code1','code2','code3','code4')); ?>
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<?php echo get_post_meta($post->ID'code1'true); ?>
<?php echo get_post_meta($post->ID'code2'true); ?>
<?php echo get_post_meta($post->ID'code3'true); ?>
<?php echo get_post_meta($post->ID'code4'true); ?>
<?php endwhile;endif;?>

ตอนแรกใช้

โค๊ด:
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>

อย่างเดียวแล้วมันไม่แสดงผลอะไรเลย เลยลอง query_posts ด้วย post_meta ดู มันก็แสดงผลล่ะ

เห็นว่าจะเอาไปทำหลายๆ ไฟล์ก็แก้

โค๊ด:
<?php query_posts('post_meta='.array('code1','code2','code3','code4')); ?>

เป็น

โค๊ด:
<?php query_posts('post_meta=code1')); ?>

แล้วตั้งชื่อไฟล์เป็น test1.php (ตามตัวอย่าง)

อืม... เดี๋ยวชอบทำไฟล์กันแปลกๆ แฮะ
บันทึกการเข้า

T l2 0 J A N
ก๊วนเสียว
*

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

กระทู้: 462



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 16 เมษายน 2010, 00:18:19 »

ขอบคุณทุกๆท่านมากครับ ตอนนี้ทำได้แล้วครับ  wanwan017

ขอบคุณท่าน sleepcat  และ g-ji  ด้วยครับ ใช้ได้ทั้งสองวิธีเลยครับ

 wanwan017 wanwan017 wanwan017 wanwan017
บันทึกการเข้า

รับสกรีนเคส พิมพ์เคส ราคาถูกLikemecase.com

ทำเคส สกรีนเคส สั่งทำเคส
T l2 0 J A N
ก๊วนเสียว
*

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

กระทู้: 462



ดูรายละเอียด เว็บไซต์
« ตอบ #12 เมื่อ: 16 เมษายน 2010, 10:32:01 »

ok ได้ล่ะ

 Tongue

ลองทำตั้งนาน

เอาโค้ดนี้ไปใส่ใน test.php

โค๊ด:
<?php include_once($_SERVER['DOCUMENT_ROOT'].'/test/wp-load.php'); ?>

<?php query_posts('post_meta='.array('code1','code2','code3','code4')); ?>
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<?php echo get_post_meta($post->ID'code1'true); ?>
<?php echo get_post_meta($post->ID'code2'true); ?>
<?php echo get_post_meta($post->ID'code3'true); ?>
<?php echo get_post_meta($post->ID'code4'true); ?>
<?php endwhile;endif;?>

ตอนแรกใช้

โค๊ด:
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>

อย่างเดียวแล้วมันไม่แสดงผลอะไรเลย เลยลอง query_posts ด้วย post_meta ดู มันก็แสดงผลล่ะ

เห็นว่าจะเอาไปทำหลายๆ ไฟล์ก็แก้

โค๊ด:
<?php query_posts('post_meta='.array('code1','code2','code3','code4')); ?>

เป็น

โค๊ด:
<?php query_posts('post_meta=code1')); ?>

แล้วตั้งชื่อไฟล์เป็น test1.php (ตามตัวอย่าง)

อืม... เดี๋ยวชอบทำไฟล์กันแปลกๆ แฮะ


ผมลอง Post หลายๆ Post แล้วมันดึงข้อมูล Custom Fields ของทุก Post มาแสดงหมดเลยอ่าครับ


ทำยังไงให้มันดึง Custom Fields มาแสดงแค่โพสนั้น ไม่ใช่ดึงของโพสอื่นๆมาด้วยอ่าครับ

ขอบคุณครับ  wanwan017
บันทึกการเข้า

รับสกรีนเคส พิมพ์เคส ราคาถูกLikemecase.com

ทำเคส สกรีนเคส สั่งทำเคส
AuGusTin
Verified Seller
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,122



ดูรายละเอียด
« ตอบ #13 เมื่อ: 16 เมษายน 2010, 11:52:13 »

ลองโค้ดนี้ดูน่ะครับ จะเป็นการดึงเฉพาะโพสต์นั้นๆออกมาแสดง

โค๊ด:
<?php query_posts('p' => 123 ,'post_meta=code1'); ?>

เลข "123" เป็นเลข Post Id น่ะครับ ก็ลองเปลี่ยนตามเลข Post ID ตามที่ต้องการ
 wanwan013
บันทึกการเข้า

T l2 0 J A N
ก๊วนเสียว
*

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

กระทู้: 462



ดูรายละเอียด เว็บไซต์
« ตอบ #14 เมื่อ: 16 เมษายน 2010, 12:34:15 »

ลองโค้ดนี้ดูน่ะครับ จะเป็นการดึงเฉพาะโพสต์นั้นๆออกมาแสดง

โค๊ด:
<?php query_posts('p' => 123 ,'post_meta=code1'); ?>

เลข "123" เป็นเลข Post Id น่ะครับ ก็ลองเปลี่ยนตามเลข Post ID ตามที่ต้องการ
 wanwan013

อยากจะได้ code ดึงมาแบบอัตโนมิติเลยครับ



ตอนนี้กำลังใช้วิธีของคุณ sleepcat ยังไม่เจอปัญหาครับ  wanwan017


« แก้ไขครั้งสุดท้าย: 16 เมษายน 2010, 13:54:34 โดย T l2 0 J A N » บันทึกการเข้า

รับสกรีนเคส พิมพ์เคส ราคาถูกLikemecase.com

ทำเคส สกรีนเคส สั่งทำเคส
หน้า: [1]   ขึ้นบน
พิมพ์