หน้าร้านค้า WooCommerce เพื่อใช้เทมเพลตที่กำหนดเองของฉัน [ปิด]


9

ก่อนถามคำถามฉันต้องการบอกคุณว่าฉันได้ถามคำถามไปแล้วใน/programming/15025213/wordpress-woocommerce-template-file-overiding

ฉันใช้ปลั๊กอินWooCommerceเพื่อพัฒนาเว็บไซต์ ทุกอย่างเรียบร้อยด้วย WooCommerce ตามความต้องการของฉันฉันได้กำหนดค่าหน้าแรกของฉันเป็นหน้าฐานร้านค้าจากแผงควบคุมของ WooCommerce เพื่อให้หน้าแรกของฉันเป็นหน้าร้านค้า ตอนนี้ความต้องการของฉันคือการวางภาพบางส่วนซึ่งควรจะอัปโหลดจากด้านผู้ดูแลระบบและเพื่อแสดงข้อความมากกว่าภาพ สำหรับคุณลักษณะที่ฉันค้นหามากกว่า Google และบางคนบอกว่าผมใช้WordPress ฟิลด์ที่กำหนดเองขั้นสูง ฉันเพิ่งติดตั้ง

ตอนนี้ฉันเห็นว่า WooCommerce ไม่ได้ใช้ธีมที่กำหนดเองของฉัน มันใช้ธีมที่กำหนดเองของตัวเอง เนื่องจากฉันต้องการแสดงรูปภาพและข้อความโดยใช้ปลั๊กอิน Advanced Custom Fieldsฉันต้องการแม่แบบกำหนดเองของฉันเองเพื่อใช้แบบสอบถามสำหรับรูปภาพและข้อความ จากนั้นฉันก็ค้นหาโซลูชันของ Google อีกครั้งและฉันก็ได้รับคำแนะนำให้ทำสำเนาของธีมpage.phpเข้าไปwoocommerce.phpแล้วเปลี่ยนรหัส:

     <?php while ( have_posts() ) : the_post(); ?>

      <?php get_template_part( 'content', 'page' ); ?>

      <?php comments_template( '', true ); ?>

    <?php endwhile; // end of the loop. ?>

กับ

<?php woocommerce_content(); ?>

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

รหัสของฉันเพื่อแสดงฟิลด์ที่กำหนดเองขั้นสูงสำหรับภาพและข้อความเป็นดังนี้:

<?php $product_tab_banner = get_field('product_tab_banner');
    if($product_tab_banner): ?>
   <?php var_dump($product_tab_banner); ?>
    <div class="nt-highlighted-products">
    <img src="<?php echo $product_tab_banner['url']; ?>" alt="<?php echo $product_tab_banner['alt']; ?>"  width="<?php echo $product_tab_banner['sizes']['featured_product-width'];?>" height="<?php echo $product_tab_banner['sizes']['featured_product-height'];?>" title="<?php echo $product_tab_banner['title']; ?>" />
    </div>
  <?php endif; ?>

ฉันใช้ธีม WordPress TwentyEleven


บางทีเอกสาร WCอาจมีคำแนะนำบางอย่าง
brasofilo

@brasofilo ฉันได้ค้นหาเอกสาร แต่ไม่มีเบาะแสใด ๆ ที่นั่น ...
NewUser

ตรวจสอบว่าสิ่งนี้ช่วย
brasofilo

ใช่ฉันพยายาม แต่มันแสดงเช่นนี้Fatal error: Cannot redeclare show_template() (previously declared
NewUser

เกิดข้อผิดพลาดกับชื่อฟังก์ชันเพียงแก้ไขให้ถูกต้อง
brasofilo

คำตอบ:


5

เมื่อทำตามคำถามของคุณฉันต้องการบอกคุณว่าwoocommerceจะไม่ใช้เทมเพลตที่กำหนดเองของคุณ มันจะใช้แม่แบบของตัวเอง ตามที่คุณต้องการใช้ปลั๊กอินฟิลด์กำหนดเองขั้นสูงของ wordpressฉันต้องการบอกคุณว่าฟีเจอร์นี้ใช้งานได้เฉพาะบนหน้าและโพสต์ ดังนั้นwoocommerceจะไม่อนุญาตให้ใช้เทมเพลตที่คุณกำหนดเองคุณจึงไม่สามารถใช้ฟีเจอร์ฟิลด์ที่กำหนดเองขั้นสูงได้

ตอนนี้ทำสิ่งที่แตกต่าง เพียงแค่สร้างเทมเพลตที่คุณกำหนดเองที่คุณต้องการแสดงผลิตภัณฑ์ของคุณ แล้วก็ไปที่เว็บไซต์http://docs.woothemes.com/document/woocommerce-shortcodes/ ที่นี่คุณสามารถดูรหัสย่อสำหรับWooCommerce ที่ซึ่งคุณสามารถแสดงผลิตภัณฑ์เกือบทั้งหมดได้อย่างง่ายดายด้วยการปรับแต่งของคุณเอง ตอนนี้ใช้รหัสย่อเหล่านี้เพื่อแสดงผลิตภัณฑ์ ที่นี่คุณได้บรรลุแล้วว่าwoocommerceกำลังใช้เทมเพลตที่คุณกำหนดเอง ขณะนี้เป็นเทมเพลตของคุณเองคุณสามารถใช้ฟิลด์กำหนดเองขั้นสูงกับสิ่งนี้ได้อย่างง่ายดาย ชัดเจนหรือไม่ หากสิ่งใดที่คุณไม่สามารถเข้าใจได้โปรดตอบกลับฉัน หวังว่านี่จะช่วยคุณได้


11

ฉันไม่แน่ใจว่าฉันเข้าใจปัญหาของคุณถูกต้องหรือไม่ แต่นี่เป็นความพยายามของฉันในการทำซ้ำ

อันดับแรกพิจารณาเอกสาร WooCommerceส่วนนี้:

หากคุณต้องการที่จะแก้ไขหนึ่งในแม่แบบเหล่านี้เพียงแค่คัดลอกลงในไดเรกทอรีภายในรูปแบบของการตั้งชื่อ/woocommerce, การเก็บรักษาโครงสร้างไฟล์เดียวเช่นย้ายไป/templates/cart/cart.php themename/woocommerce/cart/cart.phpไฟล์ที่คัดลอกจะแทนที่ไฟล์เท็มเพลตเริ่มต้นของ WooCommerce

ประการที่สองนี่คือขั้นตอนการจำลองแบบ:

  • ใช้ WP 3.5.1, TwentyEleven 1.5, WooCommerce 1.6.6 และ AdvancedCustomFields 4.0.0
  • ตั้งหน้า "ร้านค้า" เป็นหน้าคงที่ในการตั้งค่าการอ่าน ( /wp-admin/options-reading.php)
  • ตั้งกลุ่มฟิลด์ ACF ที่มีฟิลด์รูปภาพ ( product_tab_banner) โดยมีค่าส่งคืนเป็น "ออบเจ็กต์รูปภาพ" และจะแสดงในประเภทโพสต์ "ผลิตภัณฑ์"

วิธีแก้ไข :

  • สร้างโฟลเดอร์ต่อไปนี้: /wp-content/twentyeleven/woocommerce/
  • คัดลอกไฟล์: /wp-content/plugins/woocommerce/templates/content-product.php ไปยังโฟลเดอร์ที่สร้างขึ้นใหม่นี้
  • วางรหัสของคุณในสำเนาของ content-product.php
$product_tab_banner = get_field('product_tab_banner');
if($product_tab_banner): ?>
    <div class="nt-highlighted-products">
    <img src="<?php echo $product_tab_banner['url']; ?>" 
        alt="<?php echo $product_tab_banner['alt']; ?>"  
        width="<?php echo $product_tab_banner['sizes']['featured_product-width'];?>" 
        height="<?php echo $product_tab_banner['sizes']['featured_product-height'];?>" 
        title="<?php echo $product_tab_banner['title']; ?>" />
    </div>
<?php endif; ?>

นี่คือหน้าผลิตภัณฑ์:

หน้าผลิตภัณฑ์
คลิกเพื่อขยาย

และนี่คือผลลัพธ์ในเว็บไซต์:

ผลเว็บไซต์


หากคุณต้องการกำหนดหน้า "ร้านค้า" ให้คัดลอกไฟล์/wp-content/plugins/woocommerce/templates/archive-product.phpลงใน/woocommerce/โฟลเดอร์ของธีมของคุณ


-2

โปรดลองแทนที่ปลั๊กอินที่คุณใช้ด้วยส่วนขยาย WooCommerce อย่างเป็นทางการเช่น "ส่วนเสริมผลิตภัณฑ์" ( http://www.woothemes.com/products/product-add-ons/ )


คุณอ่านคำถามของฉันถูกต้องหรือไม่
ใหม่

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