WordPress

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

5
วิธีที่ดีที่สุดในการส่งตัวแปร PHP ระหว่างงาน Partials?
ฉันมีตัวแปรใน header.php เช่น: $page_extra_title = get_post_meta($this_page->ID, "_theme_extra_title", true); เมื่อฉันทำ: var_dump($page_extra_title); ฉันNULLออกไปข้างนอก header.php เสมอ(var_dump ทำงานอย่างถูกต้องใน header.php เท่านั้น) ฉันได้วางตัวแปรเดียวกันทุกที่ที่ฉันต้องการ (page.php, post.php, footer.php ฯลฯ ) แต่มันบ้าและทำให้ทุกอย่างแทบเป็นไปไม่ได้ที่จะรักษา ฉันสงสัยว่าอะไรคือวิธีที่ดีที่สุดในการส่งตัวแปรผ่านไฟล์ทั้งหมดในธีมของฉัน ฉันเดาว่าใช้ functions.php พร้อมกับ "get_post_meta" อาจไม่ใช่ความคิดที่ดีที่สุด? :)

4
เพิ่มลิงก์“ ออกจากระบบ” ไปที่เมนูนำทาง
ฉันจะเพิ่มลิงค์ไปยังเมนูนำทางหลักพร้อมclass="right"แอตทริบิวต์ได้อย่างไร ฉันพยายามเพิ่มลิงค์แบบคงที่example.com/wp-logout.php?action=logoutแต่นำไปสู่หน้ายืนยันการออกจากระบบ มีวิธีที่จะทำให้มันเป็นลิงค์ออกจากระบบหรือไม่?
16 menus  login 

3
ฉันจะสร้างความสัมพันธ์ระหว่างประเภทโพสต์ที่กำหนดเองได้อย่างไร
ฉันต้องการสร้างฐานข้อมูลซีรี่ส์ทีวีโดยใช้ WordPress ฉันได้ปฏิบัติตามบทเรียนบางอย่างและฉันมีสองประเภทโพสต์ที่กำหนดเอง: หนึ่งสำหรับหนึ่งและmovies seriesผมทำตามโพสต์นี้สำหรับโครงสร้าง คำถามของฉันคือฉันจะสร้างความสัมพันธ์ระหว่างภาพยนตร์และประเภทโพสต์ซีรีส์ได้อย่างไร

1
หลายอินพุตในคอนโทรล Customizer
ว่าฉันมีการควบคุมที่กำหนดเองเดียว แต่การควบคุมนี้มี 2 ปัจจัยการผลิตที่ต้องมีการบันทึกเช่น: ประเภทและมูลค่าของสกุลเงิน ขนาดและหน่วยวัด ชื่อและนามสกุล ข้อความและสไตล์ ภาพและขนาดภาพ แบบอักษรตระกูลและน้ำหนักแบบอักษร ฉันจะทำอย่างไร ฉันเห็นว่ามีตัวเลือกการตั้งค่าเมื่อสร้างตัวควบคุม แต่ไม่มีเอกสารแนะนำวิธีการใช้งานและตัวอย่างเดียวของสิ่งที่ทำในป่าคือ Easy Google Fonts ซึ่งไม่มีคำอธิบายเกี่ยวกับวิธีการทำและ อ่านยาก เป็นไปได้ที่จะซ้อนการควบคุมและส่วนต่างๆหรือไม่? จนถึงบทเรียนและเอกสารทั้งหมดที่ฉันได้พบพูดคุยเกี่ยวกับการควบคุมด้วยอินพุต html เดียวไม่มีการพูดถึงการควบคุมที่มีอินพุต / การตั้งค่าหลายอย่างแม้ว่า API จะถูกแนะนำ

4
วิธีเพิ่มการแจ้งเตือนของผู้ดูแลระบบเมื่อทำการบันทึก / อัพเดท
ฉันมีประเภทโพสต์ที่ใช้ post_save เพื่อนำที่อยู่จากโพสต์เมตาและดึงพิกัดละติจูด / ลองจิจูดจาก Google API ฉันต้องการวิธีแจ้งให้ผู้ใช้ทราบหากมีปัญหาในการเรียก coordintes ฉันพยายามใช้ admin_notices แต่ไม่มีสิ่งใดปรากฏขึ้น: public static function update_notice() { echo "<div class='error'><p>Failed to retrieve coordinates. Please check key and address.<p></div>"; remove_action('admin_notices', 'update_notice'); } add_action('admin_notices', array('GeoPost', 'update_notice')); ฉันไม่แน่ใจว่าฉันใช้มันไม่ถูกต้องหรือในบริบทที่ผิด เพื่อความชัดเจนในรหัสจริง add_action อยู่ในฟังก์ชั่นอื่นในชั้นเรียนเดียวกัน มันใช้งานได้ดี

1
ทำไม WordPress เพิ่ม 0 (ศูนย์) ลงในการตอบกลับ Ajax
ถ้าฉันจบฟังก์ชั่นการประมวลผลโดยอาแจ็กซ์exit()หรือdie()ฟังก์ชั่นได้รับอาแจ็กซ์ที่ต้องการและการส่งออกที่ถูกต้อง 0แต่ต่อไปนี้โดย ความคิดใดที่เกิดขึ้น นั่นหมายความว่าเป็นแบบนั้นหรืออาจแก้ไขได้? add_action('wp_ajax_get_homepage', 'get_homepage'); add_action('wp_ajax_nopriv_get_homepage', 'get_homepage'); function get_homepage(){ echo "get_homepage ->"; exit(); } ฉันเคยอ่านที่AJAX ในโปรแกรมเสริมแต่ทำไมถึงจำเป็น?

2
ชุดรูปแบบให้การสนับสนุนชุดรูปแบบเด็กได้อย่างไร
หนึ่งในคำร้องขอบนธีมคือต้องใช้ธีมเพื่อจัดเตรียมการสนับสนุนธีมลูก ฉันรู้ว่าชุดรูปแบบของเด็กคืออะไรแม้ว่าฉันจะไม่ได้ทำงานกับพวกเขามาก แต่ฉันอยากรู้ว่ามีบางสิ่งที่ชุดรูปแบบของฉันต้องสนับสนุนชุดรูปแบบของเด็กหรือไม่

3
ส่งค่าบูลีนในรหัสย่อ
ในรหัสย่อของ WordPress ฉันจะส่งแอตทริบิวต์บูลีนได้อย่างไร ทั้งสองอย่าง[shortcode boolean_attribute="true"]หรือ[shortcode boolean_attribute=true]กำลังให้ค่าสตริง แก้ไข จะไม่มีปัญหาสำหรับผู้ใช้ที่รู้ว่าพวกเขากำลังทำอะไรหากฉันใช้เคล็ดลับซึ่งถูกคอมเม้นต์โดย @brasofilo แต่ผู้ใช้บางคนจะหลงทางถ้าพวกเขาให้falseค่าคุณลักษณะและรับtrueค่า มีวิธีอื่นอีกไหม?

4
จะปิดการใช้งาน“ Post Lock / Edit Lock” ได้อย่างไร?
ฉันต้องการปิดการใช้งานสำหรับประเภทโพสต์เดียวเนื่องจากไม่สำคัญว่าจะมีผู้ใช้รายอื่นแก้ไขหรือไม่ (พื้นที่แก้ไขเนื้อหาหลักคือ Ajaxified และผู้ที่ไม่ได้เป็นผู้ดูแลระบบสามารถเห็นได้) ฉันดูที่ฟังก์ชั่นหลัก แต่ไม่พบจุดเข้า จากฟังก์ชั่นที่wp_set_post_lockฉันคาดเดาว่าฉันจะต้องสกัดกั้นget_post_metaแต่มีวิธีอย่างเป็นทางการหรือไม่ และมีการล็อคครั้งที่สองที่ดูเหมือนจะไม่ได้รับผลกระทบจากตัวกรองwp_check_post_lock_window( ดังแสดงโดย Birgireที่นี่ในคำตอบ) ฉันได้พยายามremove_filter( 'heartbeat_received', 'wp_refresh_post_lock', 10, 3 );ตามจุดต่าง ๆ remove_filterแต่มันก็ช่วยให้การเต้นโดยไม่ต้องเคารพ

2
ฉันควรลบ install.php และ install-helper.php หรือไม่
การรักษาwp-admin/install.phpและwp-admin/install-helper.phpการรั่วไหลของความปลอดภัยบนเวิร์ดเพรสเวอร์ชันใหม่หรือไม่? โดยค่าเริ่มต้นไฟล์ที่อนุญาตในไฟล์เหล่านั้นคือ 644 หากมีการรั่วไหลโปรดชนิดใด

1
get_template_directory () กับ bloginfo ('template_directory') vs TEMPLATEPATH
ฉันอ่านบทความนี้: ข้อผิดพลาดในการพัฒนา WordPress ทั่วไปและวิธีแก้ไขพวกเขาและในนั้นผู้เขียนกล่าวว่า: การรับตำแหน่งของธีม: หากคุณใช้ TEMPLATEPATH หรือ bloginfo ('template_directory') หยุด! คุณควรใช้ get_template_directory () ที่มีประโยชน์มากอย่างที่เห็นในตัวอย่างด้านบน แต่เขาไม่ได้ทำอย่างละเอียด เกี่ยวกับbloginfo()อะไร

5
ใช้ Wordpress 3.5 Media Uploader ใน meta box หรือไม่
เป็นไปได้ที่จะทำ? ฉันชอบที่เครื่องมืออัพโหลดใหม่ทำงานอย่างไร ฉันเดาว่ามันเกี่ยวข้องกับการเรียก jQuery เหมือนอย่างอื่น แก้ไข นี่คือรหัสที่ฉันกำลังใช้อยู่ jQuery(document).ready(function($) { $('.custom_upload_image_button').click(function() { imageField = $(this).prev('input'); tb_show('', 'media-upload.php?type=image&TB_iframe=true'); }); window.send_to_editor = function(html) { imgurl = $(html).attr('href'); $(imageField).val(imgurl); tb_remove(); }; $('.clear_field').click(function() { var defaultImage = jQuery(this).parent().siblings('.custom_default_image').text(); jQuery(this).parent().siblings('.custom_upload_image').val(''); return false; }); });
16 jquery  uploads 

5
การรับประเภทโพสต์ที่กำหนดเองแบบลำดับชั้นจะทำให้ลิงก์ทำงานเหมือนหน้าเว็บ
ฉันขุดทุกคำถามที่นี่เกี่ยวกับ Permalinks ประเภทโพสต์ที่กำหนดเอง แต่ส่วนใหญ่ดูเหมือนว่าจะมีปัญหากับการเขียน taxonomy ที่กำหนดเองหรือการขาด flush_rewrite_rules () อย่างชัดเจน แต่ในกรณีของฉันฉันใช้ชนิดโพสต์ที่กำหนดเองเท่านั้น (ไม่มีอนุกรมวิธาน) ตั้งเป็นลำดับขั้น (ดังนั้นฉันจึงสามารถกำหนดความสัมพันธ์ระหว่างผู้ปกครองกับลูก) โดยมี "การสนับสนุน" ที่เหมาะสมสำหรับคุณสมบัติ metabox ฯลฯ เป็นต้น ได้เขียนกฎใหม่อีกหลายพันวิธีแล้ว ฉันลองใช้โครงสร้างลิงก์อื่น แต่ URL ย่อยจะส่งผลให้เกิด 404 เสมอ! เดิมฉันมีประเภทโพสต์ที่กำหนดเองที่เป็นอิสระสำหรับองค์ประกอบ "หลัก" และ "เด็ก" (ใช้ p2p) และฉันอาจจะไม่มีปัญหาในการใช้อนุกรมวิธานสำหรับการจัดกลุ่ม "ผู้ปกครอง" - ฉันรู้ว่าสิ่งเหล่านั้นจะแม่นยำกว่า แต่สำหรับลูกค้ามันเป็นเรื่องง่ายที่สุดสำหรับพวกเขาที่จะเห็นภาพลำดับชั้นเมื่อ "โพสต์" ถูกแสดงในผู้ดูแลระบบเหมือนกับหน้าคือ: ต้นไม้ที่เรียบง่ายที่เด็ก ๆ จะปรากฏภายใต้ผู้ปกครองนำหน้าด้วย "-" และใน คำสั่งที่เหมาะสม นอกจากนี้ยังสามารถใช้วิธีการต่างๆในการกำหนดคำสั่งผ่าน drag-n-drop ได้ การจัดกลุ่มผ่านอนุกรมวิธาน (หรือ …

3
คิวรีช้าสำหรับตาราง wp_options
ฉันติดตามบันทึกการสืบค้นช้าของเว็บไซต์ที่ใช้ WP (ด้วยค่าเริ่มต้นของlong_query_time ที่ตั้งค่าเป็น 10) และฉันสังเกตเห็นว่าแบบสอบถามต่อไปนี้มักจะถูกบันทึกไว้ - # User@Host: root[root] @ localhost [] # Query_time: 0 Lock_time: 0 Rows_sent: 394 Rows_examined: 458 SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes'; ฉันไม่เข้าใจว่าตารางขนาดเล็กเช่นนี้อาจใช้เวลาในการดำเนินการมากน้อยเพียงใด นี่เป็นเพียงอาการของปัญหาอื่นหรือไม่? (ปัจจุบันเรียกใช้ Moodle, phpbb และ WP บน VM เฉพาะ)

4
เอา Open Sans ออกจากชุดรูปแบบ Twenty Twelve
ฉันกำลังสร้างธีมลูกสำหรับ Twenty Twelve v1.0 และฉันต้องการลบแบบอักษร Open Sans Open Sans ถูกเพิ่มเข้ามาในฟังก์ชั่นของ Twenty Twelve wp_enqueue_style( 'twentytwelve-fonts', add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" ), array(), null ); ฉันได้พยายามยกเลิกการลงทะเบียน / ถอนการสไตล์ชีทในฟังก์ชั่น childtheme's.php (ดูตัวอย่างด้านล่าง) แต่ไม่มีผล: function example_scripts_styles() { wp_deregister_style( 'twentytwelve-fonts' ); wp_dequeue_style( 'twentytwelve-fonts' ); } add_action( 'wp_enqueue_scripts', 'example_scripts_styles' ); มีแนวคิดใดบ้างที่ฉันจะลบไฟล์นี้? ขอบคุณ!

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