WordPress

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

4
จะตรวจสอบได้อย่างไรว่าฉันอยู่ใน admin-ajax.php
ตอนนี้สำหรับปลั๊กอินของฉันฉันใช้in_admin()เพื่อตรวจสอบว่าผู้ใช้อยู่ในส่วนหน้าของเว็บไซต์หรือในพื้นที่ผู้ดูแลระบบ อย่างไรก็ตามปัญหาเกิดขึ้นเมื่อปลั๊กอินใช้admin-ajax.phpเพื่อประมวลผลคำขอ ajax ฉันต้องการวิธีการลงทะเบียน hooks และ plugins เฉพาะเมื่อประมวลผลadmin-ajax.phpไฟล์หรือในส่วนหน้าของเว็บไซต์ วิธีที่ดีที่สุดในการทำเช่นนั้นคืออะไร?
27 ajax 

4
สามารถใช้สคริปต์ / ตัวโหลดสไตล์ WP เพื่อเชื่อมสคริปต์สคริปต์และสไตล์เข้ากับส่วนหน้าได้หรือไม่
WP มีตัวโหลดจาวาสคริปต์ที่ดีรวมอยู่ใน wp-admin: http://core.trac.wordpress.org/browser/tags/3.0.4/wp-admin/load-scripts.php และตัวโหลด CSS: http://core.trac.wordpress.org/browser/tags/3.0.4/wp-admin/load-styles.php ฉันสงสัยว่ามันเป็นไปได้ที่จะใช้พวกเขาในส่วนหน้าเช่นกันไม่เพียง แต่ผู้ดูแลระบบเพราะพวกเขาสามารถเชื่อมสคริปต์ที่เข้าคิวทั้งหมดและเชื่อมต่อกับพวกเขาเป็นไฟล์ gzipped ไฟล์เดียว

3
มีตะขอใดบ้างที่เปลี่ยนลอจิก 404 หรือไม่?
หากคุณมีหน้า 404 ที่กำหนดไว้ในชุดรูปแบบของคุณ Wordpress จะแสดงหน้า 404 หากมีการกำหนด "แท็ก" ใน $ wp_query-> query_vars และไม่มีโพสต์ที่ตรงกับแท็กนั้น ฉันกำลังเขียนปลั๊กอินที่แสดงข้อมูลบางอย่างในแต่ละหน้านอกเหนือจากการโพสต์ ฉันต้องการแก้ไขตรรกะ 404 เพื่อให้หน้า 404 ปรากฏขึ้นหากไม่มีโพสต์ที่ตรงกับแท็กและปลั๊กอินไม่สามารถดึงข้อมูลที่ตรงกับแท็กนั้นขึ้นมาได้ หากปลั๊กอินสามารถค้นหาข้อมูลได้ฉันต้องการแสดงหน้าปกติไม่ว่าจะมีโพสต์ในหน้านั้นหรือไม่ ... ฉันได้รับ Googling อ่านรหัสอ่าน codex และแหย่ที่นี่และไม่สามารถคิดได้ว่า Wordpress จะเรียกใช้ที่ 404 ได้อย่างไรและฉันจะลบล้างมันได้อย่างไร (ฉันมีความรู้สึกว่าอาจมีบางอย่างที่เกี่ยวข้องกับ status_header () ใน function.php แต่มันไม่ชัดเจนว่าจะต้องทำอย่างไรและเมื่อใด ความช่วยเหลือ / ความคิด / การตรัสรู้ชื่นชมใด ๆ ขอขอบคุณ, ~ Patch

4
วิธีการตั้งค่าและใช้ตัวแปรทั่วโลก? หรือทำไมไม่ใช้มันเลย
อัปเดต:คำถามเดิมของฉันได้รับการแก้ไขแล้ว แต่นี่กลายเป็นการอภิปรายที่ถูกต้องเกี่ยวกับสาเหตุที่ไม่ใช้ตัวแปรทั่วโลกดังนั้นฉันจึงอัปเดตคำถามเพื่อให้สะท้อนถึงสิ่งนั้น วิธีแก้ไขคือ<?php global $category_link_prop; echo esc_url( $category_link_prop ); ?>ตามที่ @TomJNowell แนะนำ ปรับปรุง 2:ตอนนี้ฉันได้ทำสิ่งที่ฉันต้องการ แต่ฉันยังคงใช้ขอบเขตทั่วโลกและยินดีที่จะหาวิธีที่ดีกว่า ฉันกำลังพยายามตั้งค่าตัวแปรส่วนกลางจำนวนมากเพื่อให้ลิงก์ไปยังหมวดหมู่ถูกใช้ในสถานที่ต่าง ๆ ในธีมของฉัน เหตุผลหลักสำหรับสิ่งนี้คือเพื่อใช้ในการนำทางหลักเช่นเดียวกับในชุดการนำทางย่อยที่เลือกตามประเภทของโพสต์ปัจจุบันที่มีอยู่นี่ไม่ใช่ชุดรูปแบบที่ฉันจะปล่อยให้ผู้อื่นใช้ แต่ถูกสร้างขึ้นเพื่อวัตถุประสงค์เฉพาะอย่างหนึ่งอย่างยิ่ง นี่คือวิธีที่ฉันกำลังสร้างพวกเขาในขณะนี้ (ฉันวางเพียงบางตัวแปร) function set_global_nav_var() { //proposal global $prop; // Get the ID of a given category $category_id_prop = get_cat_ID( 'proposal' ); // Get the URL of this category $category_link_prop = …
27 php  functions  globals 

5
วิธีเพิ่มข้อมูลจาวาสคริปต์ในส่วนท้ายที่ต้องการ jQuery
ฉันรู้ว่าฉันสามารถเพิ่มไฟล์สคริปต์ลงในส่วนท้ายของ wordpress ที่ต้องการ jquery โดยใช้รหัสนี้: <?php function my_scripts_method() { // register your script location, dependencies and version wp_register_script('custom_script', get_template_directory_uri() . '/js/custom_script.js', array('jquery'), '1.0', true); // enqueue the script wp_enqueue_script('custom_script'); } add_action('wp_enqueue_scripts', 'my_scripts_method'); ?> แต่ถ้าฉันต้องการเพิ่มเพียงส่วนย่อยของ jquery แบบอินไลน์ไม่ใช่ไฟล์ วิธีนี้สามารถทำได้ แก้ไข ฉันรู้ว่าฉันสามารถใช้สคริปต์นี้เพื่อเพิ่มบางอย่างลงในส่วนท้าย: <?php function myscript() { ?> <script type="text/javascript"> // This depends on …

5
มีวิธีการรับจำนวนบรรณาธิการ WYSIWYG ในประเภทโพสต์ที่กำหนดเองหรือไม่?
มีวิธีที่จะมีบรรณาธิการ WYSIWYG หลายประเภทโพสต์ที่กำหนดเอง? ตัวอย่างเช่นถ้าฉันมีเลย์เอาต์ 2 คอลัมน์ฉันต้องการให้มีหนึ่งเอดิเตอร์สำหรับหนึ่งคอลัมน์และอีกเอดิเตอร์สำหรับอีกอัน

5
วิธีการขยาย WP_Customize_Control
ฉันกำลังมองหาวิธีที่จะเพิ่มการควบคุมชนิดใหม่ลงในแผงแสดงตัวอย่างแบบกำหนดเองแบบสด ฉันได้เห็นวิธีเพิ่มหัวข้อใหม่ลงในแผงโดยใช้ add_action( 'customize_register'... การควบคุมที่ฉันต้องการนำไปใช้เป็นเครื่องมือเลือกสีชนิดอื่น ในโพสต์ก่อนหน้านี้เราจะเห็นวิธีการขยายคลาสหลักเพื่อเพิ่มวิดเจ็ต แต่สิ่งที่ฉันขาดนี่คือตะขอที่จะทำให้ฉันสามารถนำวัตถุของฉันเข้าสู่ขอบเขต - WP_Customize_Palette_Control ที่ คุณสามารถเห็นจุดเริ่มต้นของรหัสที่นี่ รหัสนี้อยู่ในfunctions.phpไฟล์ของธีมของฉัน ขอบคุณสำหรับความช่วยเหลือใด ๆ ปล้น เพิ่งปรับปรุงรหัส ตอนนี้ฉันต้องrequire_onceมาเรียน ดังนั้นตอนนี้ฉันไม่มีข้อผิดพลาด PHP แต่ HTML ควบคุมใหม่ของฉันไม่ปรากฏขึ้น <?php require_once( ABSPATH . WPINC . '/class-wp-customize-setting.php' ); require_once( ABSPATH . WPINC . '/class-wp-customize-section.php' ); require_once( ABSPATH . WPINC . '/class-wp-customize-control.php' ); class WP_Customize_Palette_Control extends WP_Customize_Image_Control { public …

1
วิธีสร้างหน้าแสดงข้อผิดพลาด 401, 403 และ 500 ที่กำหนดเองได้อย่างไร
เมื่อพบข้อผิดพลาด 404 ไฟล์เท็มเพลต 404.php สามารถใช้เพื่อแสดงข้อความข้อผิดพลาดที่กำหนดเอง นี่คือเอกสารในบทความลำดับชั้นของแม่แบบ เป้าหมายของฉันคือการสร้างหน้าข้อผิดพลาดที่กำหนดเองสำหรับข้อผิดพลาด 401, 403 และ 500 ฉันได้ลองสร้างไฟล์ 401.php, 403.php และ 500.php ในไดเรกทอรีของธีม แต่ไม่ได้ผล ฉันจะสร้างหน้าแสดงข้อผิดพลาด 401, 403 และ 500 ที่กำหนดเองใน WordPress ได้อย่างไร


2
วิธีรับเส้นทางไปยังชุดรูปแบบปัจจุบันได้อย่างไร
plugin_dir_url( __FILE__ )รหัสนี้จะใช้ในการรับไดเรกทอรีปลั๊กอินปัจจุบัน: ฉันควรใช้อะไรเพื่อรับไดเรกทอรีของธีมปัจจุบัน

2
Media Library อาศัยอยู่ในฐานข้อมูลที่ไหน
ฉันกำลังส่งออกไซต์ Wordpress จาก localhost ไปยังเว็บโฮสต์และฉันไม่สามารถนำเข้า Media Library เนื่องจากเว็บโฮสต์ไม่สามารถติดต่อ localhost ได้ ฉันได้อัปโหลดไฟล์ localhost ทั้งหมดจาก / wp-content / uploads / ... และฉันคิดว่าฉันต้องแยกส่วนของฐานข้อมูล MySQL ซึ่งมี Media Library และปรับ URL แล้วนำเข้า SQL ลงในฐานข้อมูลโฮสต์เว็บ คุณสามารถบอกฉันว่า Media Library อาศัยอยู่ในฐานข้อมูล MySQL ได้มั้ย
27 import  export 

4
เปลี่ยนลำดับของคอลัมน์ที่กำหนดเองเพื่อแก้ไขแผงควบคุม
เมื่อคุณลงทะเบียนคอลัมน์ที่กำหนดเองเช่นนั้น: //Register thumbnail column for au-gallery type add_filter('manage_edit-au-gallery_columns', 'thumbnail_column'); function thumbnail_column($columns) { $columns['thumbnail'] = 'Thumbnail'; return $columns; } โดยค่าเริ่มต้นจะปรากฏเป็นรายการสุดท้ายทางด้านขวา ฉันจะเปลี่ยนคำสั่งซื้อได้อย่างไร ถ้าฉันต้องการแสดงคอลัมน์ด้านบนเป็นคอลัมน์แรกหรือคอลัมน์ที่สอง ขอบคุณล่วงหน้า

14
คุณสมบัติใดที่คุณชอบมากที่สุดที่จะเห็นเพิ่มไปยัง WordPress? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันกำลังสร้างวิกิชุมชนเพื่อถามคำถามต่อไปนี้: คุณสมบัติใดที่คุณอยากเห็นเพิ่มใน WordPress? คำถามนี้หมายถึงบางสิ่ง: มันควรแสดงให้เห็นถึงคุณสมบัติที่ผู้ที่ชื่นชอบต้องการมากที่สุดไม่ใช่แค่ขับรถจากคนที่ไม่สามารถรู้ได้ว่า"P"จำเป็นต้องเป็นตัวพิมพ์ใหญ่ ( ภายในเรื่องตลกแน่นอน ... ) คุณสมบัติของที่ระลึกที่เป็นประโยชน์ต่อผู้ใช้ที่สูงขึ้นและโดยเฉพาะอย่างยิ่งรูปแบบและ / หรือนักพัฒนาปลั๊กอิน นอกจากนี้ยังให้ประโยชน์แก่ APIsและรองรับอื่น ๆเมื่อเทียบกับยังเป็นเพียงอีกหนึ่งเครื่องมือ UI แบบใหม่ ตัวอย่างนี้อาจเป็น API การสำรองข้อมูลที่นักพัฒนาหลายคนสามารถสร้างขึ้นมาได้หรือ Twitter API ที่ผู้ใช้สามารถสร้างได้ มุ่งเน้นเฉพาะบางสิ่งที่คุณต้องการมากที่สุดไม่ใช่ทุกสิ่งที่คุณคิด อย่าปล่อยให้เรื่องนี้เป็นเพียงการทุ่มตลาดสำหรับทุกสิ่งที่คุณคิดหรือเคยคิด เมื่อเพิ่มฟีเจอร์ที่ต้องการถามตัวคุณเองว่าคุณต้องการที่จะมีมันหรือฟีเจอร์3 อันดับแรกของคุณ; ถ้าไม่ใช่คุณไม่ควรเพิ่ม ให้รายละเอียดที่ดีรวมถึงหากเหมาะสม: A. Wireframes (อาจใช้Balsamiq ?) B. การเชื่อมต่อ API C. ตะขอที่แนะนำ D. โครงสร้าง URL อีและอื่น …
27 plugins  features  wiki 

3
รับรหัสโพสต์จาก WP_Query
มีวิธีที่ฉันสามารถดึงอาเรย์ของรหัสโพสต์ที่สอบถามจากสิ่งต่อไปนี้: $latest = new WP_Query( array ( 'orderby' => 'rand', 'posts_per_page' => 3 )); if ( $latest -> have_posts() ) : while ( $latest -> have_posts() ) : $latest -> the_post(); get_template_part( 'templates/content', 'post' ); endwhile; endif; wp_reset_postdata(); ติดตาม: ฉันใช้wp_list_pluckเพื่อดึงอาเรย์ของรหัสโพสต์: $post_ids = wp_list_pluck( $latest->posts, 'ID' ); จากนั้นแปลงอาร์เรย์เป็นสตริงโดยใช้ฟังก์ชัน implode: $post_ids_string = …


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