หัวข้อ: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: T l2 0 J A N ที่ 15 เมษายน 2010, 20:27:51 ปรกติผมสามารถทำให้มันแสดงได้โดยนำ code ด้านล่างนี้ไปใส่ไว้ใน single.php ของธีมที่ใช้
โค๊ด: <?php echo get_post_meta($post->ID, 'code1', $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 ด้านล่าง (http://img412.imageshack.us/img412/2237/codeti.jpg) ไม่ทราบว่าผมต้องทำยังไงที่จะดึง Custom Fields มาแสดงได้ โดยสร้าง page ขึ้นมาเองครับ ผมไม่มีความรู้เรื่องการทำเว็บเท่าไร ช่วยชี้แนะด้วยครับ หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: belief1976 ที่ 15 เมษายน 2010, 20:38:42 ให้ include ไฟล์ที่มีฟังชั่น get_post_meta(); ในไฟล์ test.php ด้วยครับ
หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: T l2 0 J A N ที่ 15 เมษายน 2010, 21:05:50 ให้ include ไฟล์ที่มีฟังชั่น get_post_meta(); ในไฟล์ test.php ด้วยครับ ผมลอง include ไฟล์ functions.php มัน error ไฟล์ที่ include อ่าครับ หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: belief1976 ที่ 15 เมษายน 2010, 21:23:28 ลอง run เฉพาะไฟล์ test.php ดูก่อนครับ
ตาม error ที่เห็นเป็นเพราะไหล์ test.php ไม่เจอ function ครับ ถ้ายังไม่ได้จริงส่งมาให้แก้ให้ก็ได้ครับ หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: AuGusTin ที่ 15 เมษายน 2010, 21:34:29 ลองใส่บรรทัดนี้ บนสุดของโค้ดน่ะครับ
โค๊ด: require( '../my_wordpress_install_root/wp-load.php' ); อย่าลืมเปลี่ยนชื่อโฟลเดอร์ของ wordpress น่ะครับ :wanwan013: หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: T l2 0 J A N ที่ 15 เมษายน 2010, 21:44:00 ลอง run เฉพาะไฟล์ test.php ดูก่อนครับ ตาม error ที่เห็นเป็นเพราะไหล์ test.php ไม่เจอ function ครับ ถ้ายังไม่ได้จริงส่งมาให้แก้ให้ก็ได้ครับ คือ Custom Fields ที่ผมสร้างตัวอย่างตามรูป ในแต่ล่ะ Post ผมจะสร้างขึ้นมาเป็น code1,code2,code3,code4,code5,code6 มากน้อยก็แล้วแต่กำหนด และในช่อง Value ก็จะแตกต่างกัน (http://img153.imageshack.us/img153/853/415201092852pm.jpg) ผมสร้างสร้างไฟล์ขึ้นมาใหม่สมมุติชื่อว่า 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: หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: T l2 0 J A N ที่ 15 เมษายน 2010, 22:00:39 ลองใส่บรรทัดนี้ บนสุดของโค้ดน่ะครับ โค๊ด: require( '../my_wordpress_install_root/wp-load.php' ); อย่าลืมเปลี่ยนชื่อโฟลเดอร์ของ wordpress น่ะครับ :wanwan013: มันไม่มีอะไรขึ้นมาเลยอ่าครับ ไม่มี error และก็ไม่มีข้อความจาก Custom Fields ที่สร้างไว้ :o หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: g-ji ที่ 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> แบบนี้น่าจะได้นะ หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: T l2 0 J A N ที่ 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 เหมือนโพสแรกอ่าครับ หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: sleepcat ที่ 15 เมษายน 2010, 23:23:53 ลองใช้
โค๊ด:
ดูนะครับ โดยไฟล์ test.php มีตัว $_GET['code1'] ไปทำงานต่อ ปล. ผมไม่ได้ลองนะครับ แค่คิดแนวทางนี้น่าจะได้ :P หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: g-ji ที่ 16 เมษายน 2010, 00:11:12 ok ได้ล่ะ
:P ลองทำตั้งนาน เอาโค้ดนี้ไปใส่ใน test.php โค๊ด: <?php include_once($_SERVER['DOCUMENT_ROOT'].'/test/wp-load.php'); ?> ตอนแรกใช้ โค๊ด: <?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 (ตามตัวอย่าง) อืม... เดี๋ยวชอบทำไฟล์กันแปลกๆ แฮะ หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: T l2 0 J A N ที่ 16 เมษายน 2010, 00:18:19 ขอบคุณทุกๆท่านมากครับ ตอนนี้ทำได้แล้วครับ :wanwan017:
ขอบคุณท่าน sleepcat และ g-ji ด้วยครับ ใช้ได้ทั้งสองวิธีเลยครับ :wanwan017: :wanwan017: :wanwan017: :wanwan017: หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: T l2 0 J A N ที่ 16 เมษายน 2010, 10:32:01 ok ได้ล่ะ :P ลองทำตั้งนาน เอาโค้ดนี้ไปใส่ใน test.php โค๊ด: <?php include_once($_SERVER['DOCUMENT_ROOT'].'/test/wp-load.php'); ?> ตอนแรกใช้ โค๊ด: <?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: หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: AuGusTin ที่ 16 เมษายน 2010, 11:52:13 ลองโค้ดนี้ดูน่ะครับ จะเป็นการดึงเฉพาะโพสต์นั้นๆออกมาแสดง
โค๊ด: <?php query_posts('p' => 123 ,'post_meta=code1'); ?> เลข "123" เป็นเลข Post Id น่ะครับ ก็ลองเปลี่ยนตามเลข Post ID ตามที่ต้องการ :wanwan013: หัวข้อ: Re: ผมจะดึง Custom Fields มาแสดงทำยังไงครับ เริ่มหัวข้อโดย: T l2 0 J A N ที่ 16 เมษายน 2010, 12:34:15 ลองโค้ดนี้ดูน่ะครับ จะเป็นการดึงเฉพาะโพสต์นั้นๆออกมาแสดง โค๊ด: <?php query_posts('p' => 123 ,'post_meta=code1'); ?> เลข "123" เป็นเลข Post Id น่ะครับ ก็ลองเปลี่ยนตามเลข Post ID ตามที่ต้องการ :wanwan013: อยากจะได้ code ดึงมาแบบอัตโนมิติเลยครับ ตอนนี้กำลังใช้วิธีของคุณ sleepcat ยังไม่เจอปัญหาครับ :wanwan017: |