ฉันจะแสดง 'เนื้อหา' ภายในเนื้อหาของ Wordpress ได้อย่างไร


10

ฉันเคยใช้ wordpress เป็นแพลตฟอร์มบล็อกที่โฮสต์เอง - จนถึงปัจจุบัน ฉันมีความต้องการที่จะใช้มันสำหรับ CMS ขั้นพื้นฐานมากซึ่งจะประกอบด้วย ~ 10 หน้าซึ่งส่วนใหญ่จะเป็นเนื้อหาแบบสแตติกอัปเดตเป็นระยะ ฉันจะต้องใช้ความสามารถในการอัปโหลดเอกสาร, ฝังรูปภาพ, แก้ไขการคัดลอกโดยใช้โปรแกรมแก้ไขข้อความ - คุณสมบัติมาตรฐานทั้งหมดที่ wordpress เสนอ

อย่างไรก็ตามฉันมีปัญหาในการแก้ไขส่วนเฉพาะภายในหน้า - โดยเฉพาะอย่างยิ่งเพิ่งรู้ว่าจะเริ่มต้นอย่างไร CMS 'ปกติ' ตามธรรมเนียมจะแบ่งหน้าเป็นส่วนที่แยกต่างหากและอนุญาตให้ฉันแก้ไขส่วนใด ๆ เหล่านั้นไม่ว่าจะโดยการแก้ไขเนื้อหาโดยตรงหรือโดยการรวมเนื้อหาที่ใช้ร่วมกันในจุดนั้น ฉันไม่สามารถหาวิธีการทำได้โดยใช้ wordpress

เป็นไปได้หรือไม่ที่จะ 'ขยาย' รูปแบบของหน้าเพื่อให้หน้าเป็นเพียงเนื้อหาจำนวนมากมันจะถูกรวมเข้ากับหน้า / เทมเพลตที่เฉพาะเจาะจงและเป็นอย่างใด - ป้องกันไม่ให้ดูโดยตรง (ลบออกจากเมนูการนำทางเป็น เริ่มต้น)

พอยน์เตอร์ใดจะเริ่มต้นตรงไหน?

ปรับปรุง

หากต้องการชี้แจงให้นึกถึงโพสต์บล็อก WordPress มาตรฐาน แกล้งทำเป็นชิ้นส่วนคงที่ของเนื้อหา สมมติว่าคุณต้องการให้ผู้แก้ไขสามารถเปลี่ยนแปลงเพียงย่อหน้าแรกของโพสต์บล็อกนั้น ตอนนี้

  • เนื้อหาคงที่ในหน้านั้นควรอยู่ในโพสต์หน้าแม่แบบหรืออย่างอื่น
  • เนื้อหาที่แก้ไขได้ควรเป็นหน้า, ... หรืออย่างอื่น?

ตัวอย่างเช่น:

<h1>About us</h1>

<p>Example.com is a company specialising in examples, demonstrations,
and canonical stuff.</p>

ถ้าฉันต้องการให้ย่อหน้านั้นสามารถแก้ไขได้สมมุติว่าฉันต้องการบางสิ่งเช่น:

<h1>About us</h1>

<p><?php insert_page('name-of-content-chunk'); ?></p>

อัปเดต 2

ตกลงหลังจากการวิจัยทดลองใช้และข้อผิดพลาดมากมายฉันได้รวมสิ่งต่อไปนี้ไว้:

  1. Wordpress ไม่ได้ตั้งค่าให้ทำซ้ำ CMS คลาสสิกได้ง่ายโดยเฉพาะอย่างยิ่งเกี่ยวกับการมีเนื้อหาหลายชิ้นในหน้าเดียว
  2. โมเดลนี้สามารถเลียนแบบได้ไม่มากก็น้อยโดยใช้โพสต์ที่กำหนดเอง (ดูด้านล่าง)
  3. หน้ามากเกือบมีความสามารถในการทำเช่นนี้อย่างไรก็ตาม:
    • ต้องใช้ปลั๊กอินเพื่อรวมหน้าเท่านั้น
    • ดูเหมือนว่าหน้าจะไม่มีความยืดหยุ่นเท่ากับโพสต์ - เช่นไม่มีประเภทหน้าเว็บที่กำหนดเอง

วิธีที่ฉันใช้โดยใช้ประเภทโพสต์ที่กำหนดเองนั้นมีดังนี้:

  1. หน้านี้เป็น 'หน้า' ที่มีเทมเพลตที่กำหนดเอง - เรียกว่า 'mypage.php'
  2. แม่แบบนั้นมีสิ่งต่อไปนี้:
    <div id = "header">
      <php?
        query_posts (อาร์เรย์ ('ชื่อ' => 'foo', 'post_type' => 'ข้อความส่วนหัว'));
        get_template_part ( 'ส่วนหัวของข้อความ');
      ?>
    </ div>
    
    <div id = "content">
      <p> สำเนาคงที่บางส่วนในเทมเพลตที่สามารถทำได้
      ผู้ดูแลไซต์เท่านั้นที่สามารถเปลี่ยนแปลงได้เท่านั้น </p>
    
      <php?
        query_posts (อาร์เรย์ ('name' => 'bar', 'post_type' => 'image'));
        get_template_part ( 'ภาพ');
      ?>
    </ div>
    

นั่นเหมาะสมกับทุกคนที่อยู่ข้างนอกใช่หรือไม่? :-)


คำถามของ Wordpress นั้นปรับได้อย่างสมบูรณ์แบบที่นี่เว้นแต่พวกเขาจะเจาะลึกการเขียนโปรแกรมมากเกินไป
Tim Post

คำตอบ:


3

ในฐานะที่เป็น tnorthcutt กล่าวถึงคุณอาจต้องการที่จะใช้ประเภทโพสต์ที่กำหนดเอง อย่างไรก็ตามคุณควรดูที่ฟิลด์ที่กำหนดเองซึ่งจะช่วยให้คุณระบุบิตของข้อมูลที่กำหนดเองแบบไดนามิกที่คุณต้องการเชื่อมโยงกับแต่ละหน้า นี่คือแบบฝึกหัดของนิตยสาร Smashingในหัวข้อที่กำหนดเองการสอนของNettuts (และวิดีโอ ) และรายการบทช่วยสอนอื่น ๆ


ฉันจะดูเป็นประเภทโพสต์ที่กำหนดเอง ปัญหาเกี่ยวกับฟิลด์ที่กำหนดเองถ้าฉันเข้าใจถูกต้องก็คือที่เลวร้ายที่สุดพวกเขาเป็นเพียงข้อความธรรมดาและที่ดีที่สุดพวกเขาไม่ได้เสนอการแก้ไขแบบ WYSIWYG
Bobby Jack

นอกจากนี้คุณควรตรวจสอบให้แน่ใจว่าคุณคุ้นเคยกับ taxonomies ที่กำหนดเองและวิธีการทำงานกับประเภทโพสต์ที่กำหนดเอง
Travis Northcutt

1

หากฉันเข้าใจถูกต้องคุณต้องการมีเลย์เอาต์ที่แตกต่างกันสำหรับหน้าต่างๆ คุณสามารถทำได้โดยมีแม่แบบกำหนดเองสำหรับแต่ละหน้าของเว็บไซต์หรือมีหน้ากำหนดเองเดียวโดยมีเงื่อนไขต่าง ๆ
สำหรับตัวเลือกแรกให้ดูที่ส่วน WordPress Codex เกี่ยวกับหน้าเทมเพลตที่กำหนดเอง: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates

สำหรับอันที่สองดูบทช่วยสอนนี้: http://www.darrenhoyt.com/2007/12/26/multiple-wordpress-page-layouts-in-one-single-template/

จากนั้นคุณสามารถย้าย "ชิ้นส่วน" เหล่านี้ไปยังไฟล์ PHP อื่น ๆ ที่คุณรวมไว้ในหน้าเว็บเฉพาะของคุณ


อืม ... ข้าจะดูลิงค์ แต่ข้าไม่แน่ใจว่าข้าอธิบายตัวเองถูกต้องแล้ว โดยพื้นฐานแล้วฉันต้องทำงานกับเนื้อหาส่วนใหญ่ที่เป็นไปได้ สิ่งที่ CMS อื่น ๆ ที่ฉันเคยใช้นั้นง่ายมาก ฉันได้อัปเดตคำถามโดยพยายามอธิบายให้ดีขึ้น
Bobby Jack

หากคุณต้องการให้เนื้อหาคงที่ (และโดยคงที่ฉันหมายถึง HTML ธรรมดาที่ไม่ได้ให้บริการจากฐานข้อมูล - เช่นโพสต์ WordPress) แต่คุณยังคงต้องการที่จะแก้ไขมันแล้วเพิ่มชิ้นไปยังแม่แบบ มิฉะนั้นใส่ไว้ในหน้าและนั่นแหละ

และถ้าฉันต้องการให้ชิ้นส่วนเหล่านั้นเป็นแบบ WYSIWYG สามารถแก้ไขได้?
Bobby Jack


1

ดูปลั๊กอินเช่น Magic Fields มันใช้ฟิลด์ที่กำหนดเองภายใน แต่อินเทอร์เฟซสามารถมีตัวแก้ไขข้อความที่หลากหลายรายการแบบหล่นลง ฯลฯ

สิ่งนี้ช่วยให้คุณกำหนดองค์ประกอบเนื้อหาประเภทและค่า (สำหรับตัวเลือก) ของพวกเขา จากนั้นชุดรูปแบบของคุณสามารถแสดงได้

อีกทางเลือกหนึ่งคือจะต้องมีการกำหนดพื้นที่ปลั๊กอินและตัดสินใจว่าจะใช้ปลั๊กอินใดในนั้น แม้ว่าจะมีความยืดหยุ่นน้อยกว่าเนื่องจากยังไม่อนุญาตให้มีสองส่วน / โพสต์เนื้อหาเฉพาะ


1

ปลั๊กอินที่ดีที่สุดสำหรับการเพิ่มพื้นที่เนื้อหาที่กำหนดเองอย่างไม่ลำบากเกินกว่าชื่อและเนื้อหาน่าจะเป็นปลั๊กอิน "ฟิลด์เพิ่มเติม"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.