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

วิธีที่ปลั๊กอินและธีมขยายการทำงานหลักของ WordPress

5
ธีมเปิดใช้งาน Hook
ฉันต้องการเขียนฟังก์ชั่นเพื่อส่ง URL ของเว็บไซต์ให้ฉันเมื่อเปิดใช้งานธีมของฉัน เบ็ดเริ่มต้นอะไรเมื่อเปิดใช้งานธีม?

3
get_template_part กับตะขอแอ็คชั่นในธีม
ดูเหมือนว่าทั้งสองสิ่งนี้เป็นโอกาสของผู้ใช้ในการปรับเปลี่ยนธีมโดยไม่ต้องแก้ไขไฟล์ธีม (ผ่านธีมลูก) คำถามของฉันคือเป็นวิธีหนึ่งที่ต้องการมากกว่าอีกวิธีหนึ่ง เช่นใช้ชุดรูปแบบฉัน workig ในตอนนี้ ฉันพยายามที่จะตัดสินใจว่าจะไปกับส่วนแม่แบบของ hooks <?php get_template_part('before_sitecontainer' ); ?> <div id="sitecontainer" class="sitecontainer" <?php //closed in footer ?>> <?php get_template_part( 'before_topcontainer' ); ?> <div id="topcontainer "> <?php get_template_part( 'before_topedge_navigation' ); ?> <?php get_template_part( 'topedge_navigation' ); ?> <?php get_template_part( 'before_site_header' ); ?> <?php get_template_part( 'site_header' ); ?> <?php get_template_part( …

6
วิธีการรวมรหัสเฉพาะในหน้าเฉพาะ?
ฉันเรียนรู้เกี่ยวกับปลั๊กอินและรหัสย่อ ฉันสังเกตเห็นว่าเมื่อฉันเปิดใช้งานปลั๊กอินโค้ดของมันจะถูกโหลดในทุกหน้าของฉัน - แม้แต่หน้าเว็บที่ไม่มีรหัสย่อของฉัน (ฉันไม่ได้หมายถึงเนื้อหากับหน้าผู้ดูแลระบบ) ในหน้าเนื้อหาบางหน้าฉันใช้รหัสย่อเฉพาะและในหน้าเนื้อหาอื่น ๆ ฉันไม่ - แต่ในกรณีใด ๆ รหัสของปลั๊กอินจะถูกโหลด ฉันจะสร้างปลั๊กอินให้รวมเฉพาะในหน้าเว็บที่ใช้รหัสย่อได้อย่างไร รายละเอียดเพิ่มเติม: สมมติว่าฉันมีปลั๊กอินที่สร้างกล่องรวมภาพ ฉันเปิดใช้งานปลั๊กอิน ในหน้า "ภาพที่น่าสนใจ" ของฉันฉันใช้รหัสย่อเพื่อสร้างกล่องรวมภาพ เมื่อฉันตรวจสอบดูแหล่งที่มาในหน้า "เกี่ยวกับ" ของฉันซึ่งไม่ได้ใช้รหัสย่อของไลท์บ็อกซ์ฉันเห็นว่าโค้ดของปลั๊กอิน Lightbox ถูกโหลดแล้ว หน้าของฉันจะโหลดเร็วขึ้นถ้าฉันเขียนปลั๊กอินของฉันเพื่อให้รหัสของมันถูกโหลดบนหน้าเว็บที่จำเป็นเท่านั้น เป็นไปได้ไหม มิฉะนั้นฉันจะมีรหัสสำหรับปลั๊กอินจำนวนมากที่โหลดบนหน้าเว็บโดยไม่จำเป็น ความคิดใด ๆ

2
วิธีปรับแต่งผลิตภัณฑ์ที่เกี่ยวข้องกับ woocommerce [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ WordPress Exchange Stack Stack ปิดให้บริการใน5 ปีที่ผ่านมา ฉันมีรหัสต่อไปนี้ในเว็บไซต์ของฉันที่จะแสดงผลิตภัณฑ์ที่เกี่ยวข้องที่ด้านล่างของหน้าผลิตภัณฑ์เดียวของฉันใน WooCommerce ... functions.php: // display upsells and related products within dedicated div with different column and number of products remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products',20); remove_action( 'woocommerce_after_single_product', 'woocommerce_output_related_products',10); add_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20); function woocommerce_output_related_products() { $output = null; ob_start(); woocommerce_related_products(4,4); $content …
14 plugins  hooks  tags 

1
ความแตกต่างระหว่าง after_setup_theme และ init action hooks ใช่ไหม
ความแตกต่างระหว่างตะขอการกระทำafter_setup_themeและinitคืออะไร? ดูเหมือนว่าทั้งคู่จะถูกเรียกใช้ก่อนที่จะโหลดหน้าใด ๆ ใน WordPress (แม้แต่หน้าผู้ดูแลระบบ)
13 hooks  actions  init 

4
ต่อเข้ากับปลั๊กอิน
ผมทำงานเกี่ยวกับปลั๊กอินที่นึกคิดจะสามารถที่จะทำสิ่งที่เมื่อผู้ใช้ทำอะไรบางอย่างผ่านที่แตกต่างกันปลั๊กอิน ฉันสามารถเพิ่ม hooks ที่กำหนดเองในปลั๊กอินเหล่านั้น แต่เห็นได้ชัดว่านี่จะไม่ทำงานได้ดีเมื่อฉันต้องการกระจายปลั๊กอินของฉัน มีวิธีที่ดีในการเพิ่ม hooks ลงในปลั๊กอินของผู้อื่นจากปลั๊กอินของฉันเองหรือไม่? เป็นทางออกที่แท้จริงเพียงอย่างเดียวที่ขอให้ผู้เขียนรวม hooks แบบกำหนดเองเพื่อให้นักพัฒนาคนอื่นสามารถทำงานต่อได้หรือไม่ ตัวอย่าง: ฉันต้องการทำบางสิ่งในปลั๊กอินเมื่อมีคนรีทวีตบทความ หากมีตะขอที่กำหนดเองในสิ่งที่ปลั๊กอิน retweet ที่เป็นที่นิยมคือฉันสามารถขอและดับไฟได้นั่นจะดีมาก ไม่มีดังนั้นฉันสามารถแก้ไขปลั๊กอินของพวกเขาเพื่อรวมไว้ได้ แต่ใช้งานได้กับสำเนาของฉันเท่านั้นและฉันไม่ต้องการลองแจกจ่ายต่ออีก เราแค่ต้องพยายามพัฒนาปลั๊กอินให้ดีขึ้นเพื่อที่เราจะได้เล่นด้วยกันได้ดี?
12 plugins  hooks 

4
ปัญหาเกี่ยวกับ title-tag และ document_title_parts
Wordpress version 4.5.1 ฉันพยายามอัปเดตชื่อหน้าเว็บในเทมเพลตเฉพาะ หลังจากที่จำนวนมากของการขุดและการเรียนรู้เกี่ยวกับการเปลี่ยนแปลงที่ฉันพยายามที่จะใช้wp_title() document_title_partsอย่างไรก็ตามฉันไม่สามารถเรียกใช้ตัวกรองได้เลย ฉันอยู่ในชุดรูปแบบของเด็กfunctions.php: add_theme_support( 'title-tag' ); //add_filter("after_setup_theme", function(){ add_theme_support("title-tag"); }); add_filter( 'document_title_parts', function( $title ) { error_log('here'); return $title; }, 10, 1 ); ฉันลองทั้งสองรูปแบบของการเพิ่มการสนับสนุนชุดรูปแบบตามที่แสดงด้านบน แต่ดูบันทึกของฉันไม่มีอะไรปรากฏบนหน้าโหลดซ้ำ ที่error_logทำงานกับฟังก์ชั่นอื่น ๆ (เช่นwp_title) ดังนั้นการบันทึกข้อผิดพลาดจึงใช้งานได้ ฉันได้ลองpre_get_document_titleแล้วเช่นกันซึ่งใช้งานในการโหลดหน้าเว็บ แต่ฉันไม่สามารถเปลี่ยนชื่อได้ ดังนั้น! ฉันกำลังใช้ตัวกรองไม่ถูกต้องไม่ได้ตั้งค่าชุดรูปแบบของฉันอย่างถูกต้องหรืออย่างอื่นที่ฉันไม่ทราบ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก! แก้ไขเพื่อเพิ่มรายละเอียดเพิ่มเติม กำลังพยายามฟังก์ชั่น init แต่ไม่ได้ผล: https://gist.github.com/anonymous/6db5af892a4cf4fb029655167d7002a4 นอกจากนี้ในขณะที่ฉันลบการอ้างอิงใด ๆ ออก<title>จากheader.phpชื่อไซต์จริงยังคงปรากฏในแหล่งที่มา

3
รับ $ post ในตัวกรอง init หรือการกระทำ
ดูเหมือนว่า $ โพสต์จะมีให้เฉพาะเมื่อสั่งการบางเวลาเท่านั้น ฉันมีเบ็ด "init" ที่ต้องการดึงข้อมูลบางส่วนจากฐานข้อมูลโดยใช้ $ post-> ID จนถึงตอนนี้วิธีแก้ปัญหาเดียวของฉันคือการเพิ่มตัวกรองอื่นใน the_content ที่ใช้ $ post เพื่อรับข้อมูลที่ฉันต้องการ น่าเสียดายที่มันสะท้อนกลับมาที่ค่าหน้าจอและล้มเหลวในการกลับไปที่ฟังก์ชั่นที่เรียกว่าตัวกรองเดิม นี่คือรหัสที่ดึงข้อมูลที่ฉันต้องการ แต่ก้องและล้มเหลวในการคืนค่า: add_filter('the_content', 'get_keyword'); function get_keyword() { global $post; $keyword = get_post_meta( $post->ID, '_wpg_def_keyword', true ); return $keyword; } ใครบ้างมีข้อเสนอแนะเกี่ยวกับวิธีการรับสิ่งที่ฉันต้องการและให้มันกลับไปที่ฟังก์ชั่นการโทรสำหรับใช้ในภายหลังในปลั๊กอิน? แก้ไข: เพื่อให้ชัดเจนยิ่งขึ้นฉันมีตัวกรองทำงานอยู่ที่ init ซึ่งต้องสามารถดึงข้อมูลในโพสต์ปัจจุบันจากฐานข้อมูลได้ ในการดำเนินการนี้ต้องมีการเข้าถึง $ post-> ID แต่มันเป็นไปไม่ได้ภายใน init ดังนั้นฉันจะได้ผลลัพธ์ที่ต้องการได้อย่างไร ขอบคุณ โจนาธาน การแก้ไข: …
12 hooks 

4
ย้ายกล่องข้อความที่ตัดตอนมาไปที่ตัวแก้ไขเนื้อหาด้านบน
ฉันพบตะขอ WordPress ชื่อ " edit_form_after_title" เพื่อเพิ่มกล่องข้อความหลังชื่อ ฉันจะใช้ hook นี้เพื่อแสดงข้อความที่ตัดตอนมาหลังชื่อขณะสร้างโพสต์ใหม่ได้อย่างไร

1
การเปลี่ยนข้อความ“ เปิดใช้งานปลั๊กอิน” เป็นค่าเริ่มต้น
เมื่อใดก็ตามที่ผู้ดูแลระบบใน WordPress เปิดใช้งานปลั๊กอินเมื่อมีการโหลดหน้าปลั๊กอินจะมีการแจ้งเตือนปรากฏขึ้นเมื่อการเปิดใช้งานการรายงานการเปิดใช้งานสำเร็จ "ปลั๊กอินเปิดใช้งาน" มีวิธีในการเปลี่ยนข้อความนี้ที่ปรากฏในประกาศของผู้ดูแลระบบหรือฉันต้องใช้ข้อความที่กำหนดเองของตัวเอง? นอกจากนี้หากฉันต้องใช้ข้อความที่กำหนดเองสิ่งนี้จะระงับข้อความ "เปิดใช้งานปลั๊กอิน" เริ่มต้นหรือไม่ คำถามที่เกี่ยวข้อง: ถอนการติดตั้งเปิดใช้งานปิดใช้งานปลั๊กอิน: คุณสมบัติทั่วไปและวิธีการ จะแสดงข้อความที่กำหนดเองได้เพียงครั้งเดียวเมื่อเปิดใช้งานปลั๊กอินได้อย่างไร อะไรคือจุดสนใจในไวยากรณ์ของ gettext ซ้ำ: ขอบคุณ Pieter สำหรับการค้นหา: วิธีการลบ "ปลั๊กอินเปิดใช้งาน" เริ่มต้นใน WordPress " แหล่งข้อมูลเพิ่มเติม: gettext () ฟังก์ชั่น บันทึก Rememember ว่าแม้ 'gettext' กรองถูกนำไปใช้เฉพาะในช่วงการเรียกไปยังtranslate()ฟังก์ชั่นtranslate()การใช้งานโดยแทบทุกฟังก์ชั่นอื่น ๆ ใน i18n i18n.php เหล่านี้รวมถึงฟังก์ชั่นทั้งหมดที่ระบุไว้ที่นี่ในโพสต์นี้ใน " Gettext Syntax "
11 plugins  admin  hooks 

2
ใช้ wp init hook เพื่อโทรหา hooks อื่นหรือไม่
ฉันต้องการที่จะรู้ว่ามันเป็นแนวปฏิบัติที่ดีตามธีม WordPress หรือการพัฒนาปลั๊กอิน add_action('init','all_my_hooks'); function all_my_hooks(){ // some initialization stuff here and then add_action('admin_init',-----); add_action('admin_menu',----); // more like so } ขอบคุณ

2
UI อนุกรมวิธานลำดับชั้น
ฉันไม่ชอบวิธีที่ taxonomies แสดงภายในผู้ดูแลระบบ Wordpress และสงสัยว่าถ้าใครรู้วิธีที่ดีที่สุดในการเชื่อมต่อและเปลี่ยนแปลง ขณะนี้ถ้าฉันเลือกคำบางคำในโพสต์ของฉันคำที่เลือกให้ไปที่ด้านบนสุดของรายการและลำดับชั้นไม่ทำงานทำให้ผู้ใช้สับสนในสายตา โปรดดูภาพเหล่านี้สำหรับแนวคิดของสิ่งที่ฉันกำลังพูดถึง ฉันต้องการแสดง taxonomies อย่างชัดเจนว่าจะแสดงอย่างไรในตอนแรกด้วยเพียงแค่คำที่ถูกต้องถูกเลือก มีวิธีการทำเช่นนี้หรือไม่โดยไม่ต้องแก้ไขแกน Wordpress โดยตรงฉันไม่เห็น hooks เลยที่จะใช้ ขอบคุณสำหรับความช่วยเหลือที่คุณสามารถให้ได้! เฮเลน

4
มีตัวกรอง / ฮุกสำหรับการตรวจสอบความถูกต้องของฟิลด์ที่กำหนดเองก่อนเผยแพร่โพสต์หรือไม่?
xxxx_urlฉันได้เองยื่นเรียกว่า xxxx_urlควรจะไม่ซ้ำกัน ดังนั้นก่อนที่จะโพสต์โพสต์ฉันต้องการตรวจสอบให้แน่ใจว่าxxxx_urlมันไม่ซ้ำกันหรือไม่? หากไม่ซ้ำกันการโพสต์ควรถูกปฏิเสธ ฉันพยายามpublish_postแล้ว แต่นั่นไม่ใช่สิ่งที่ถูกต้องเนื่องจากมันจะทริกเกอร์เมื่อเราเผยแพร่โพสต์ ฉันต้องการเรียกใช้รหัสของฉันก่อนการเผยแพร่

5
มีวิธีตั้งค่าฟิลด์กำหนดเองเริ่มต้นเมื่อสร้างโพสต์หรือไม่
เมื่อฉันสร้างโพสต์ใหม่หลังจากคลิก "เพิ่มใหม่"เมื่อตัวแก้ไขโพสต์แสดงแทนที่จะต้องใช้เมนูดร็อปดาวน์และเลือกฟิลด์ที่กำหนดเองเพื่อใช้ฉันต้องการมีอินพุตฟิลด์ที่กำหนดเองเริ่มต้นอยู่แล้ว ปลายเปิด. มองเห็นได้แทนที่จะเป็น: ฉันต้องการที่จะมีสิ่งที่ชอบ: ฉันรู้ว่ามีปลั๊กอินสำหรับ (CPT, ฟิลด์เพิ่มเติม, ฯลฯ ) แต่ฉันต้องการวิธีง่ายๆในการใช้ฟังก์ชันพื้นฐาน ฉันลองทำสิ่งนี้ (ฉันใช้ประเภทผลิตภัณฑ์โพสต์ที่กำหนดเอง): function register_custom_fields( $post_ID ) { global $wpdb; if( !wp_is_post_revision( $post_ID ) ) { add_post_meta( $post_ID, 'reference', '', true); add_post_meta( $post_ID, 'price', '', true); } } add_action('edit_product', 'register_custom_fields'); แต่ดูเหมือนจะไม่ทำงาน ฉันคิดว่า hook อาจผิด (เพราะedit_postมาหลังจากอัปเดต) แต่ฉันไม่เห็น hook สำหรับ "new post" …

2
“ all” ใน isset คืออะไร ($ wp_filter ['all'])
ฉันเป็นมือใหม่ใน WordPress ฉันพยายามที่จะเข้าใจวิธีการสร้างหน้า XHTML ฉันเดาว่ามันเป็นฟังก์ชั่นของdo_action( 'hook-name' )แต่ฉันติดอยู่กับความเข้าใจของคำสั่งisset( $wp_filter['all] )เมื่ออ่านฟังก์ชั่น do_action เพราะฉันไม่เข้าใจความหมายของคำว่าallอะไร มันเป็นคุณสมบัติ PHP หรือ WordPress หรือไม่
10 hooks 

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