คำถามติดแท็ก functions

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

30
คอลเลกชันที่ดีที่สุดของรหัสสำหรับไฟล์ functions.php ของคุณ [ปิด]
โปรดให้คะแนนคำถามและคำตอบใด ๆ ที่คุณคิดว่ามีประโยชน์โดยคลิกที่ลูกศรขึ้นทางด้านซ้ายมือของคำถามหรือคำตอบ เช่นเดียวกับคนอื่น ๆ ที่กำลังดูโพสต์นี้ฉันได้อ่านบล็อกฟอรัมและกลุ่มการสนทนาต่างๆเพื่อเรียนรู้และพัฒนาทักษะการใช้งาน WordPress ของฉัน ตลอด 12 เดือนที่ผ่านมาฉันมีภารกิจที่จะแทนที่การใช้งานปลั๊กอินโดยเพิ่มรหัสลงในfunctions.phpไฟล์ของฉันแทน ในขณะที่ฉันตกลงอย่างสมบูรณ์ว่าปลั๊กอินมีประโยชน์อย่างมากในหลาย ๆ สถานการณ์ประสบการณ์ของฉันพิสูจน์แล้วว่าใน 90% ของกรณีการใช้งานแม้ว่าอาจมีปลั๊กอินอยู่ แต่การใช้งานจริงอาจทำให้เกิดปัญหาแทรกซ้อนที่ไม่จำเป็นและปัญหาความเข้ากันได้ นอกจากนี้ในบางกรณีปลั๊กอินดังกล่าวได้เพิ่มเมนูและองค์ประกอบการดูแลระบบอื่น ๆ ที่ฉันไม่ต้องการหรือต้องการ functions.phpบ่อยกว่าไม่ฉันได้พบว่าโดยการวิเคราะห์รหัสของปลั๊กอินผมสามารถที่จะดึงออกจากชิ้นส่วนของรหัสฉันต้องการและรหัสมันยากที่จะเข้าไปในของฉัน สิ่งนี้ทำให้ฉันมีฟังก์ชั่นที่แน่นอนที่ฉันต้องการโดยไม่ต้องรวมองค์ประกอบที่ไม่จำเป็น ดังนั้นจุดประสงค์ของโพสต์นี้คือความพยายามของฉันที่จะดึงดูดให้คุณผู้อ่าน / ผู้ดูแลระบบ / นักพัฒนาแบ่งปันกับฉันและที่นี่บิตรหัสใด ๆ ที่คุณพบว่ามีประโยชน์และเพิ่มลงในfunction.phpไฟล์ธีมของคุณเพื่อขยายหรือปรับปรุง WordPress โดยไม่ต้องใช้ เสียบเข้าไป. เมื่อคุณส่งการตอบกลับที่นี่โปรดระบุชื่อรหัสแต่ละบิตให้เราทราบว่า Wordpress รุ่นใดที่คุณรู้จักใช้งานได้รวมถึงคำอธิบายใด ๆ ที่คุณรู้สึกว่าอธิบายการทำงานได้ดีที่สุดและ (ถ้ามี) รวมถึงลิงก์ไปยังต้นฉบับ ปลั๊กอินหรือแหล่งที่คุณพบข้อมูล ฉันรอคอยที่จะตอบสนองทั้งหมดของคุณและแน่นอนจะเพิ่มการค้นพบใหม่ของฉันเองอย่างต่อเนื่องทุกครั้งที่ฉันพบพวกเขา

3
ระหว่าง functions.php, วิดเจ็ตและปลั๊กอิน, ซึ่งโหลดก่อน?
ลูกค้าถามว่าปลั๊กอินแบบหมุนที่เขาใช้นั้นสามารถทำการวิดเจ็ตได้หรือไม่ นั่นหมายความว่าฉันควรสร้างวิดเจ็ตภายใน functions.php ซึ่งเรียกใช้ฟังก์ชันของปลั๊กอิน นั่นหมายความว่าจะต้องโหลดรหัสของปลั๊กอินก่อนเพื่อให้สามารถใช้งานฟังก์ชั่น WordPress ได้เมื่อโหลดไฟล์ functions.php ใช่ไหม มันจะใช้ได้ไหม

6
ความแตกต่างระหว่าง home_url () และ site_url () คืออะไร
ความเข้าใจของฉันคือการsite_url()คืนตำแหน่งที่เป็นไฟล์หลักของ wordpress ดังนั้นหากบล็อกของฉันถูกโฮสต์ในเวลาhttp://example.com/blogนั้นsite_url()จะส่งคืนhttp://example.com/blog แต่แล้วhome_url()แตกต่างกันอย่างไร สำหรับฉันhome_url()ส่งคืนสิ่งเดียวกัน:http://example.com/blog หากถูกต้องฉันจะขอให้ wordpress กลับมาได้http://example.com/ไหม

8
วิธีรวมไฟล์ PHP ในปลั๊กอินในวิธีที่ถูกต้อง
ปัญหาของฉันคือเมื่อไฟล์ปลั๊กอินหลักฉันรวมไฟล์ PHP สิ่งนี้: include(WP_PLUGIN_URL . '/wordpress-group-buying/ipn/paypal-ipn.php'); // or include_once(WP_PLUGIN_URL . '/wordpress-group-buying/ipn/paypal-ipn.php'); // or require(WP_PLUGIN_URL . '/wordpress-group-buying/ipn/paypal-ipn.php'); // or require_once(WP_PLUGIN_URL . '/wordpress-group-buying/ipn/paypal-ipn.php'); และในไฟล์นั้นฉันมีการเรียกไปยังฟังก์ชั่น WordPress เช่น: add_action('hook', 'callback'); และฉันได้รับ: ข้อผิดพลาดร้ายแรง: การเรียกไปยังฟังก์ชั่นที่ไม่ได้กำหนด add_action () ตอนนี้ก่อนที่คุณจะพูดว่า "ใช้if(**function_exists**('add_action')){" ถ้าฉันใช้สิ่งนั้นมันก็ไม่ทำงาน คำถาม: อะไรจะเป็นวิธีที่ถูกต้องในการทำเช่นนั้น? อะไรคือความแตกต่างระหว่างinclude, include_once, requireและเมื่อฉันจะใช้แม่มด?

9
ลบ“ หมวดหมู่:”,“ แท็ก:”,“ ผู้แต่ง:” จาก the_archive_title
ฉันมีรหัสต่อไปนี้ใน archive.php ของชุดรูปแบบของฉัน: <?php the_archive_title( '<h1 class="page-title">', '</h1>' ); ?> สิ่งนี้ทำให้ฉันชื่อเช่น "หมวดหมู่: รัสเซีย", "แท็ก: อเมริกา", "ผู้แต่ง: จอห์น" ฉันต้องการลบส่วน "หมวดหมู่:", "แท็ก:" และ "ผู้แต่ง:" และเพียงแสดงหมวดหมู่แท็กและชื่อผู้แต่ง ไม่มีใครรู้วิธีการทำเช่นนี้? ขอขอบคุณ.

5
การเปลี่ยนป้ายเมนูผู้ดูแลระบบ
ฉันใช้เวลาทั้งวันในการใช้ไฟล์ functions.php เพื่อปรับแต่ง WordPress สำหรับเว็บไซต์ลูกค้าของฉัน ฉันประหลาดใจที่ฉันสามารถทำสำเร็จได้มากเพียงใดและจะทำให้สิ่งต่างๆให้ลูกค้าของฉันง่ายขึ้นได้อย่างไร ฉันได้ลบรายการเมนูบางรายการสำหรับผู้ใช้ที่ไม่ได้เข้าสู่ระบบในฐานะผู้ดูแลระบบ สิ่งที่ฉันหวัง (และจากสิ่งที่ฉันได้อ่านรู้ว่ามันสามารถทำได้) คือการหาวิธีที่จะเปลี่ยนชื่อบางรายการเมนู (แถบด้านข้างซ้ายในพื้นที่ผู้ดูแลระบบ) ตัวอย่างเช่นเปลี่ยนกระทู้เป็นบทความ หากใครสามารถจัดหารหัสสำหรับไฟล์ functions.php หรือชี้ฉันไปในทิศทางที่ฉันจะขอบคุณมันมาก!

6
วิธีกำหนด the_archive_title () เอง
ในธีมลูกของarchive.phpฉันฉันมีรหัสต่อไปนี้สำหรับการแสดงชื่อของหน้าเก็บถาวรของฉัน: <?php the_archive_title( '<h1 class="page-title">', '</h1>' ); ?> แต่นั่นแสดงชื่อของฉันเป็น "หมวดหมู่: ชื่อหมวดหมู่ " แทนที่จะเป็นเพียงแค่ชื่อโดยไม่มี "หมวดหมู่:" ที่ได้รับการเติมไว้ล่วงหน้า สัญชาตญาณแรกของฉันคือการแทนที่จากget_the_archive_title() wp-includes/general-templateแต่จากสิ่งที่ฉันอ่านดูเหมือนว่าฉันไม่ควรเปลี่ยน wordpress core ทุกอย่างแม้แต่กับการแทนที่จากธีมลูก ดังนั้นวิธีปฏิบัติที่ดีที่สุดในการควบคุมผลลัพธ์ของthe_archive_title()คืออะไร

5
รับ URL หน้าบล็อกในตัวเลือก
ฉันได้ตั้งค่าบล็อกให้เป็นหน้าอื่นที่ไม่ใช่หน้าแรก ฉันต้องการลิงค์จาก single.php ไปยังหน้าบล็อกนี้ มีฟังก์ชั่นใดที่ดึง URL สำหรับบล็อกหรือไม่

2
get_template_directory_uri ชี้ไปที่ธีมหลักไม่ใช่ธีมลูก
ปัญหาที่ฉันมีอยู่คือ get_template_directory_uri ชี้ไปที่ธีมหลักเช่น site/wp-content/themes/twentythirteen/myGallery/gallery_functions_include.php แต่ฉันต้องการให้ชี้ไปที่ธีมลูกของฉันซึ่งควรจะเป็น site/wp-content/themes/child-twentythirteen/myGallery/gallery_functions_include.php สิ่งที่ฉันใช้คือ include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php');

4
ฉันจะวางข้อมูลโค้ดที่ฉันพบที่นี่หรือที่อื่นบนเว็บได้ที่ไหน
โพสต์จำนวนมากที่นี่หรือที่อื่นมีรหัส แต่พวกเขาไม่ได้บอกว่าจะใส่ไว้ที่ไหน ตัวอย่าง: ฉันพบโพสต์นี้: ฉันจะปิดโพสต์เปลี่ยนเส้นทาง 301 (ไม่ใช่บัญญัติ) ได้อย่างไร ฉันเป็นมือใหม่ด้วย PHP ฉันควรวางรหัสจากคำตอบที่ไหน?

10
ลบย่อหน้าที่ว่างเปล่าออกจาก the_content หรือไม่
เฮ้พวกฉันแค่ต้องการป้องกันการสร้างย่อหน้าที่ว่างในโพสต์ WordPress ของฉัน ที่เกิดขึ้นค่อนข้างบ่อยเมื่อพยายามพื้นที่เนื้อหาด้วยตนเอง ฉันไม่รู้ว่าทำไมสิ่งนี้จึงไม่มีผล /*Remove empty paragraph tags from the_content*/ function removeEmptyParagraphs($content) { /*$pattern = "/<p[^>]*><\\/p[^>]*>/"; $content = preg_replace($pattern, '', $content);*/ $content = str_replace("<p></p>","",$content); return $content; } add_filter('the_content', 'removeEmptyParagraphs'); แก้ไข / ปรับปรุง: ดูเหมือนว่าปัญหาคือ: function qanda($content) { // filters for [q=some question] and [a=some answer] // wraps it inside of …

5
คุณจะตรวจสอบว่าคุณอยู่ในหน้าใดหน้าหนึ่งในส่วน WP Admin ได้อย่างไร? ตัวอย่างเช่นฉันจะตรวจสอบได้อย่างไรว่าฉันอยู่ในหน้าผู้ใช้> โปรไฟล์ของคุณหรือไม่
ฉันกำลังสร้างปลั๊กอินและฉันต้องการเพิ่มบิตของจาวาสคริปต์ในส่วนหัวของผู้ดูแลระบบ แต่สำหรับหน้าผู้ดูแลระบบบางหน้าเท่านั้น ฉันไม่ได้หมายถึงหน้าเว็บในหน้า WordPress ที่คุณสร้างขึ้นเอง แต่เป็นหน้าของผู้ดูแลระบบที่มีอยู่เช่น 'โปรไฟล์ของคุณ', 'ผู้ใช้' ฯลฯ มีฟังก์ชั่น wp สำหรับงานนี้โดยเฉพาะหรือไม่? ฉันค้นหามาแล้วและฉันสามารถหาฟังก์ชั่นบูลีนis_adminและแอ็คชัน hooks เท่านั้น แต่ไม่ใช่ฟังก์ชั่นบูลีนที่เพิ่งตรวจสอบ

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
ทำไมต้องใช้ถ้า function_exists
ฉันสังเกตุเห็นว่านักพัฒนาธีม WordPress จำนวนมากจะใช้สิ่งนี้ในfunctions.php if (function_exists('register_nav_menus')) { register_nav_menus (array('primary' => 'Header Navigation')); } สำหรับฉันฉันมักจะใช้ add_action สำหรับทุกฟังก์ชั่นที่ฉันใช้ในfunctions.php ดังนั้นข้างต้นจะเขียนเป็น: add_action('init', 'my_register_nav_menus'); function my_register_nav_menus() { register_nav_menus (array('primary' => 'Header Navigation')); } ฉันมีสองคำถาม: เหตุใดจึงต้องใช้คำสั่ง if ในวิธีแรก วิธีใดที่ถูกต้อง
30 functions 

1
วิธีการแทนที่ฟังก์ชั่นหลักในธีมลูก?
ฉันได้อ่านไปรอบ ๆ และพยายามหาวิธีการทำสิ่งนี้ แต่ด้วยเหตุผลบางอย่างฉันไม่สามารถแทนที่ฟังก์ชั่นหลักในธีมลูกของฉันได้ ฉันใช้ TwentyTen ในฐานะผู้ปกครอง - ทุกคนสามารถบอกฉันได้ว่าทำไมฟังก์ชั่นนี้ในธีมลูกของฉันจึงไม่สามารถเอาชนะฟังก์ชั่นหลักได้ // Override read more link function osu_twentyten_continue_reading_link() { return ' <a href="'. get_permalink() . '">' . __( 'Read on <span class="meta-nav">→</span>', 'twentyten-child' ) . '</a>'; } function osu_twentyten_auto_excerpt_more( $more ) { return ' …' . osu_twentyten_continue_reading_link(); } remove_filter( 'excerpt_more', 'twentyten_auto_excerpt_more' ); …

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