WordPress

คำถาม & คำตอบสำหรับนักพัฒนา WordPress และผู้ดูแลระบบ

4
รับโพสต์ภายใต้อนุกรมวิธานที่กำหนดเอง
ฉันไม่ได้รับโพสต์ภายใต้ taxonomy ที่กำหนดเอง ( fabric_building_types) ฉันได้รับcat_idและcat->nameยัง แต่ไม่สามารถรับโพสต์ $args = array( 'type' => 'post', 'child_of' => 0, 'parent' => '', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'number' => '', 'taxonomy' => 'fabric_building_types', 'pad_counts' => false ); $categories = get_categories( …

1
จะทำการทดสอบหน่วยบนแพทช์ที่เสนอใน Trac ได้อย่างไร?
ฉันกำลังมองหาข้อมูลเชิงลึกและแหล่งข้อมูลที่ดีเกี่ยวกับวิธีการทดสอบหน่วยในแพทช์ WordPress ที่เสนอใน Trac อย่างถูกต้องและวิธีรายงานผลลัพธ์จากการทดสอบอย่างถูกต้อง ฉันยังใหม่กับสิ่งนี้และได้อ่านทรัพยากรที่อยู่ในคำถาม WPSEนี้ ตัวผมเองอยากจะเรียนรู้วิธีการทำเช่นนี้และทำได้ด้วยข้อผิดพลาดที่โลกแห่งความจริงเช่นนี้ตั๋ว Trac # 5809 ฉันเดาว่าหลังจากอ่านทรัพยากรในคำถาม WPSE ที่กล่าวถึงก่อนหน้าการมาสั้น ๆ ของฉันคือฉันไม่เข้าใจว่าฉันจะติดตั้งการทดสอบที่เสนอสำหรับแพทช์ที่นำเสนอได้อย่างไร ปรับปรุง:ฉันยังคงค้นหาทรัพยากรและกำลังดูวิดีโอนี้ในWordPress หน่วยทดสอบ

1
คุณควร จำกัด การเข้าถึงไฟล์ธีมโดยตรงหรือไม่
ฉันพบตัวอย่างต่อไปนี้ในธีมเป็นครั้งคราว: if ( ! defined('ABSPATH')) exit('restricted access'); มันเป็นจุดเริ่มต้นของไฟล์ PHP (ทั้งหมดหรือไม่) ในรูปแบบและควรป้องกันการเข้าถึงไฟล์โดยตรงจากแหล่งที่เลวร้าย ฉันเห็นว่านี่ไม่รวมอยู่ในยี่สิบหรือสิบเอ็ดและฉันไม่เคยเห็นมันแนะนำในเอกสาร WordPress อย่างเป็นทางการ ดูเหมือนจะเป็นความคิดที่ดีสำหรับฉัน แต่ฉันก็ไม่รู้เกี่ยวกับความปลอดภัยพอที่จะตัดสินและไม่สามารถหาได้มากนักจาก Google นี่คือสิ่งที่ฉันควรมีในธีมที่กำหนดเองของฉันหรือไม่ ถ้าเป็นเช่นนั้นควรเป็นไฟล์ PHP ทั้งหมดหรือบางไฟล์?

1
เหตุใดการกระทำของ save_post จึงเริ่มทำงานเมื่อสร้างโพสต์ใหม่
ฉันประหลาดใจกับความจริงที่ว่าฟังก์ชั่นของฉันที่ฉันติดไว้กับsave_postการกระทำนั้นเกิดขึ้นเมื่อฉันคลิกลิงก์ "โพสต์ใหม่" ในแผงควบคุมของผู้ดูแลระบบ หมายเหตุ - นี่เป็นก่อนที่ฉันจะกดSaveหรือUpdateและจะเริ่มทันทีไม่ใช่หลังจากเวลาผ่านไปหรืออัปเดตอัตโนมัติ ในทางกลับกันเมื่อฉันพิมพ์บางอย่างแล้วกดPublishหรือUpdateหรือSave Draftปุ่มคำสั่ง echo ที่ฉันใส่ไว้ในตัวจัดการการกระทำของฉันไม่ได้สะท้อนออกมาดังนั้นจึงปรากฏว่าการกระทำนั้นไม่ได้ยิงในเวลาอื่น สิ่งนี้อาจไม่เกี่ยวข้อง นี่คือรหัสของฉัน: add_action('save_post', 'MyNS\save_event_metabox', 10, 2); function save_event_metabox($post_id, $post){ echo "<h1>YES!</h1>"; } YES นี้สะท้อน (ที่ด้านบนของหน้า) เมื่อกดลิงก์ "โพสต์ใหม่" แต่ไม่ได้สะท้อนเมื่อฉันพิมพ์บางสิ่งบางอย่างแล้วกดUpdateหรือหรือPublish Save Draftนี่ดูเหมือนจะขัดแย้งกับเอกสารเกี่ยวกับsave_postการกระทำและwp_insert_post()ฟังก์ชั่น ใครช่วยเคลียร์สิ่งนี้ให้ฉันได้บ้าง?

2
ตรวจสอบว่าสคริปต์ / สไตล์ถูกจัดคิว / ลงทะเบียน
เป็นไปได้ไหมที่จะทดสอบว่าสคริปต์หรือสไตล์ได้รับการลงทะเบียนโดยใช้wp_register_script/_styleหรือwp_enqueue_script/_styleไม่? ฟังก์ชั่นทั้งหมดไม่ได้คืนค่าและฉันก็ไร้เดียงสาอย่างสมบูรณ์ ฉันต้องการมันเพื่อสลับระหว่างฟังก์ชั่นที่แตกต่างกันขึ้นอยู่กับสไตล์ชีต - ไลบรารีและสคริปต์ที่ฉันเสนอ ขอขอบคุณ!

9
รับข้อความที่ตัดตอนมาโดยใช้ get_the_excerpt นอกวง
ฉันมีรหัสที่โทรget_the_title()และใช้งานได้ แต่get_the_excerpt()กลับว่างเปล่า ฉันจะทำให้มันทำงานได้อย่างไร รหัสนี้อยู่ในส่วนเสริมที่เรียกว่า "WP Facebook Open Graph protocol" นี่คือส่วนที่ฉันต้องการเปลี่ยน: if (is_singular('post')) { if (has_excerpt($post->ID)) { echo "\t<meta property='og:description' content='".esc_attr(strip_tags(get_the_excerpt($post->ID)))."' />\n"; }else{ echo "\t<meta property='og:description' content='". [?] ."' />\n"; } }else{ echo "\t<meta property='og:description' content='".get_bloginfo('description')."' />\n"; } ที่นี่has_excerptล้มเหลวเสมอและget_the_excerpt($post->ID)ไม่ทำงานอีกต่อไป (เลิกใช้แล้ว) ดังนั้นฉันจะแสดงข้อความที่ตัดตอนมาที่นั่นได้อย่างไร PS: ฉันใช้ปลั๊กอิน "Advanced Excerpt" เช่นกัน
31 loop  excerpt 

2
บุคคลที่ 3 ควรใช้ $ wp_scripts / $ wp_styles-> add_data หรือไม่
ภายในชั้นเรียนที่มีอยู่วิธีการตั้งชื่อWP_Dependencies add_dataฟังก์ชั่นนี้เพิ่มข้อมูลให้กับสคริปต์ / สไตล์ที่ได้รับการจัดคิวระหว่างการโหลด WordPress การอ้างถึงการใช้งานทั่วไปสำหรับฟังก์ชั่นนี้คือการเพิ่มเงื่อนไขเมื่อเพิ่มสไตล์ชีทที่มีการกำหนดเป้าหมายที่ IE เวอร์ชันต่าง ๆ ตัวอย่างเช่นหากต้องการกำหนดเป้าหมายเป็น IE8 และต่ำกว่า: function test_wp_print_styles() { global $wp_styles; wp_enqueue_style( 'test-style', get_template_directory_uri() . '/css/test.css', array(), 1, 'all' ); $wp_styles->add_data( 'test-style', 'conditional', 'lte ie8' ); } add_action( 'wp_print_styles', 'test_wp_print_styles' ); สิ่งนี้จะแสดงผลเป็น: <!--[if lte ie8]> <link rel='stylesheet' id='test-style-css' href='http://trunkosaurus.dev/wp-content/themes/twentyeleven/css/test.css?ver=1' type='text/css' media='all' /> <![endif]--> เมื่อฉันมองผ่าน …

9
คุณจะหลีกเลี่ยงการแคชในระหว่างการพัฒนาได้อย่างไร
มีวิธีง่าย ๆ ในการป้องกันการแคชเมื่อทำการทดสอบลักษณะที่ปรากฏของการเปลี่ยนแปลงในเว็บไซต์หรือไม่? ฉันใช้ WP Super Cache ฉันสามารถลบแคชโดยใช้ตัวเลือกที่มีให้ลบแคชสำหรับเบราว์เซอร์ของฉันและยังคงการเปลี่ยนแปลงบางอย่างใน css หรือวิดเจ็ตไม่รีเฟรช ฉันลองแก้ไขอื่น ๆ เช่นสลับเบราว์เซอร์หรือคอมพิวเตอร์ แต่ต้องมีเวิร์กโฟลว์เรียงรายมากขึ้นที่ฉันสามารถมั่นใจได้ว่าฉันกำลังดูการเปลี่ยนแปลงที่ฉันทำและไม่ใช่รูปแบบก่อนหน้านี้บางแคช? ทางออกที่ดีที่สุดสำหรับสิ่งนี้คืออะไร?

3
การเปลี่ยนชื่อประเภทโพสต์ที่กำหนดเองและ Taxonomies
ฉันเริ่มพัฒนาเว็บไซต์ที่มีโพสต์ที่กำหนดเองมากกว่าหนึ่งโหล ฉันต้องการเปลี่ยนชื่อสักสองสามรายการไม่ใช่เฉพาะค่าที่แสดง แต่เป็นชื่อประเภทโพสต์ที่กำหนดเองจริง ฉันกังวล แต่เพียงแค่เรียกใช้แบบสอบถามการปรับปรุง SQL ที่ฉันจะพลาดบางสถานที่ที่ฉันต้องเปลี่ยนสิ่งหรือเขียนทับส่วนของข้อมูลต่อเนื่อง ฉันได้ป้อนข้อมูลไปแล้วมากกว่า 3,000 รายการดังนั้นฉันจึงไม่สามารถรีสตาร์ทด้วยฐานข้อมูลที่สะอาด วิธีที่ดีที่สุดในการเปลี่ยนชื่อประเภทโพสต์ที่กำหนดเองคืออะไร วิธีการเกี่ยวกับการเปลี่ยนชื่ออนุกรมวิธาน?

6
จะตรวจจับอุปกรณ์มือถือและนำเสนอธีมเฉพาะได้อย่างไร
ฉันต้องการสร้างธีมที่ปรับเปลี่ยนใหม่ของฉัน (ตรวจสอบโปรไฟล์ของฉันหากจำเป็น) เพื่อนำเสนอแก่ผู้เยี่ยมชมหากฉันตรวจพบว่าพวกเขากำลังเยี่ยมชมไซต์จากอุปกรณ์มือถือเช่น iPhone, Android เป็นต้น จะตรวจสอบได้อย่างไรว่าคำขอมาจากอุปกรณ์มือถือ / เบราว์เซอร์? ฉันจะโหลดและแสดงธีมเฉพาะสำหรับพวกเขาได้อย่างไร ข้อมูลเพิ่มเติม : ธีมของฉันไม่ลื่นไหล มีความกว้างคงที่ประมาณ 976px (เนื้อหา 676px + ส่วนที่เหลือเป็นแถบด้านข้างซ้าย) ฉันไม่ต้องการปฏิวัติรูปแบบ แต่ฉันรู้สึกว่ามันมีขนาดใหญ่สำหรับโทรศัพท์ 320x480 และ 800x480 อาจเป็นไปได้ว่าฉันจะลบแถบข้างหรืออย่างน้อยก็ย้ายไปทางขวาและทำการปรับเปลี่ยนเล็กน้อยอื่น ๆ

11
รับข้อความที่ตัดตอนมาโดย ID
เหตุใดจึงไม่สามารถตัดตอนมาจาก ID เช่นชื่อและองค์ประกอบอื่น ๆ ส่วนใหญ่ เช่น. get_the_excerpt (ID) ฉันรู้ว่าจะใช้งานอย่างไรกับฟังก์ชั่น $ post-> post_excerpt แต่ไม่ได้ส่งคืนส่วนของเนื้อหาหากไม่มีการคัดลอกข้อความที่ตัดตอนมามันไม่ส่งผลอะไรเลย ดังนั้นสิ่งที่ฉันพยายามทำคือรับข้อความที่ตัดตอนมาจาก ID หากมีข้อความที่ตัดตอนมาและหากไม่มีข้อความที่ตัดตอนมาจาก ID นั้น แต่มีเนื้อหาบางส่วนเพื่อรับเนื้อหาบางส่วนแทน หนึ่งจะทำเช่นนั้นได้อย่างไร ความคิดใด ๆ มหัศจรรย์ ... แก้ไข - วนรหัสต้นทางตามที่ร้องขอ <?php $stories = get_posts('category_name=feedback&numberposts=4'); foreach ($stories as $post) : $title = $post->post_title; $excerpt = get_the_excerpt_id($post->ID); $thumb = get_the_post_thumbnail($post->ID,array(60, 60, true));?> <div class="textstandard_white" style="font-size:14px; …
31 posts  excerpt 

7
เริ่มต้นกับการโค่นล้ม Git หรือระบบควบคุมเวอร์ชันที่คล้ายคลึงกันเพื่อเก็บประวัติไฟล์ของฉันหรือไม่? [ปิด]
ฉันรู้ว่านี่อาจเป็นคำถามกว้าง ๆ บนพื้นผิว แต่ฉันกำลังมองหาตัวอย่างเฉพาะของการตั้งค่า / เวิร์กโฟลว์ที่ผู้คนใช้เพื่อเก็บประวัติเวอร์ชันของไฟล์ที่แก้ไขบนไซต์ WordPress ตัวอย่างเช่นเมื่อมีการพัฒนาเว็บไซต์ (และแม้หลังจากที่เผยแพร่แล้ว) ฉันมักจะทำการเปลี่ยนแปลงไฟล์ CSS และ PHP แต่ฉันไม่มีวิธีที่ยอดเยี่ยมในการแปลงไฟล์เหล่านั้นเป็นเวอร์ชันเก่ากว่า สำหรับวัตถุประสงค์ของฉันการเปลี่ยนแปลงในการติดตั้งการพัฒนาท้องถิ่นแล้วคัดลอกการเปลี่ยนแปลงเหล่านั้นไปยังไซต์สดมักเป็นปัญหามากกว่าที่ฉันต้องการ คำแนะนำเกี่ยวกับวิธีเริ่มต้นใช้งานเครื่องมือกำหนดเวอร์ชันเพื่อติดตามการแก้ไขไฟล์ในเว็บไซต์สด

6
การเปลี่ยนลำดับเมนูผู้ดูแลระบบ
ฉันรู้สึกผิดหวังเล็กน้อยที่นี่หลังจากใช้เวลาสองสามชั่วโมงในการพยายามทำสิ่งนี้ให้เป็นเรื่องง่ายโดยไม่มีโชค โดยเฉพาะอย่างยิ่งผมมี 5 ประเภทโพสต์ที่กำหนดเองที่ฉันสร้างขึ้นและทั้งหมดที่ฉันต้องการจะทำคือการแสดงแต่ละของพวกเขาในการสั่งซื้อที่เฉพาะเจาะจงโดยตรงภายใต้"แดชบอร์ด" จากเอกสาร WordPress ดูเหมือนว่าคุณไม่สามารถทำสิ่งนี้ได้จริงเพราะลำดับเมนูสูงสุดดูเหมือนจะเป็น "5" และเหนือ L ฉันเดาว่าผู้เชี่ยวชาญบางคนกำลังอ่านสิ่งนี้สามารถแสดงให้ฉันเห็นวิธีง่ายๆที่ฉันสามารถสั่งเมนูผู้ดูแลระบบอย่างที่ฉันต้องการโดยการใช้ไฟล์ฟังก์ชั่นและโดยไม่ต้องใช้ปลั๊กอิน (ซึ่งฉันรู้อยู่) โปรดไปข้างหน้าและลองสร้างโพสต์ 5 แบบแยกกันและรวมไว้ในลำดับเฉพาะโดยตรงภายใต้แดชบอร์ด ... ดูเหมือนว่ามันจะเป็นไปไม่ได้หรือไม่ ... ... มีแฮ็ค jquery บางประเภทที่จะทำให้คนนี้ทำงาน สามารถแบ่งปันกับฉันหรือดีกว่าโดยไม่ใช้ jQuery?
31 menus  wp-admin  admin 

3
ทำไมรูปภาพเด่นไม่ปรากฏในประเภทโพสต์ที่กำหนดเองของฉัน
ฉันมีการรองรับภาพขนาดย่อพร้อมกับสิ่งต่อไปนี้ในฟังก์ชั่นของฉัน // Add Thumbnail Support add_theme_support('post-thumbnails'); set_post_thumbnail_size( 140, 140, true ); และฉันสร้างประเภทโพสต์ที่กำหนดเองด้วย // Create Custom Post Type for Work add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'custom_post', array( 'thumbnail', 'labels' => array( 'name' => __( 'Custom' ), 'singular_name' => __( 'Custom' ) ), 'public' => true, 'has_archive' => true, …

5
วิธีการขยาย WP_Query เพื่อรวมตารางที่กำหนดเองในแบบสอบถาม
ฉันมีปัญหามาหลายวันแล้ว ตอนแรกมันเป็นวิธีการจัดเก็บข้อมูลผู้ติดตามของผู้ใช้ในฐานข้อมูลซึ่งฉันได้รับคำแนะนำที่ดีที่นี่ที่ WordPress Answers หลังจากทำตามคำแนะนำฉันได้เพิ่มตารางใหม่เช่นนี้: id leader_id follower_id 1 2 4 2 3 10 3 2 10 ในตารางด้านบนแถวแรกมีผู้ใช้ที่มี ID เป็น 2 ซึ่งกำลังตามด้วยผู้ใช้ที่มี ID เป็น 4 ในแถวที่สองผู้ใช้ที่มี ID 3 จะถูกตามด้วยผู้ใช้ที่มี ID เป็น 10 ใช้ตรรกะเดียวกันกับแถวที่สาม ตอนนี้โดยพื้นฐานแล้วฉันต้องการขยาย WP_Query เพื่อให้ฉันสามารถ จำกัด การโพสต์ที่ดึงข้อมูลได้เฉพาะผู้นำของผู้ใช้เท่านั้น ดังนั้นการพิจารณาตารางข้างต้นหากฉันต้องส่ง ID ผู้ใช้ 10 ถึง WP_Query ผลลัพธ์ควรมีการโพสต์ด้วย ID ผู้ใช้ 2 และ ID …
31 wp-query 

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