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

วิดเจ็ตเป็นองค์ประกอบที่กำหนดค่าได้ที่ใช้ในการสร้างส่วนต่าง ๆ ของธีม WordPress

2
จะโหลด Widget javascript + css ได้อย่างไรหากใช้?
ฉันต้องการเก็บสไตล์ javascript และ css ที่ใช้โดยวิดเจ็ตของฉันไว้ในไฟล์ของตัวเอง (และไม่เพิ่มลงในธีม) แต่ฉันไม่สามารถรับ wordpress เพื่อเพิ่มพวกเขาได้เมื่อมีการใช้วิดเจ็ตบนแถบด้านข้าง ฉันเคยลองแล้ว: ในการประกาศ Class ฉันได้เพิ่ม 2 ฟังก์ชัน class EssentielleRubriquesPosts extends WP_Widget { function addFrontendCss(){ wp_enqueue_style('erw-frontend-css', ESSENTIELLE_RUBRIQUE_WIDGET_PLUGIN_PATH . 'css/EssentielleRubriqueWidget-frontend.css'); } function addFrontendJavascript(){ wp_register_script('jq-hoverintent', PLUGIN_PATH . 'js/jquery.hoverintent.js', array('jquery'), '1.0',true); wp_enqueue_script('jq-hoverintent'); wp_enqueue_script('jq-tools', PLUGIN_PATH . 'js/jquery.tools.js', array('jquery'),'1.0',true); wp_enqueue_script('erw-frontend-js', PLUGIN_PATH . 'js/widget-frontend.js', array('jquery', 'jq-hoverintent', 'jq-tools'),'1.0',true); } และภายในฟังก์ชั่น …

5
การใช้ตัวเลือกวิดเจ็ต 'นอก' วิดเจ็ต
ฉันต้องการบันทึกพารามิเตอร์บางอย่างในตัวเลือกวิดเจ็ตซึ่งจะถูกส่งไปยังหน้าอื่น วิดเจ็ตเป็นรูปแบบที่เรียกบริการเว็บ ตัวเลือกที่ฉันต้องการผ่านคือการรับรองความถูกต้องสำหรับเว็บเซอร์ซึ่งปัจจุบันมีการเข้ารหัสอย่างหนักในหน้าผลลัพธ์ (ทำเป็นเทมเพลต) ดังนั้นจึงควรซ่อนจากผู้ใช้เว็บไซต์ รหัสจากวิดเจ็ต / ปลั๊กอิน: function widget($args, $instance){ extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? 'Choose a service' : $instance['title']); $lineOne = empty($instance['username']) ? '' : $instance['username']; $lineTwo = empty($instance['password']) ? '' : $instance['password']; # Before the widget echo $before_widget; // etc... หน้าผลลัพธ์ ... $url = "http://www.nhs.uk/NHSCWS/Services/ServicesSearch.aspx?user=".[USERNAME]."&pwd=".[PASSWORD]."&q=".$_POST['PostCode']."&type=".$_POST['ServiceType'].""; ยังคงเรียนรู้ว่า …
13 options  widgets 

2
จะเก็บข้อมูลฟิลด์วิดเจ็ตเป็นอาร์เรย์ได้อย่างไร?
ฉันกำลังสร้างวิดเจ็ตมันต้องเก็บประมาณ 10 ID ตอนนี้ฉันใช้เมธอดฟิลด์ต่อไปนี้เพื่อจัดเก็บแต่ละ ID ในฟิลด์แยก มันเก็บข้อมูลของแต่ละฟิลด์ในแยกใน wordpress เป็นไปได้หรือไม่ที่จะเก็บข้อมูลของทุกฟิลด์ในหนึ่งแถวใน wordpress สำหรับการสอบโดยใช้อาร์เรย์? <input class="widefat" id="<?php echo $this->get_field_id('item1_id'); ?>" name="<?php echo $this->get_field_name('item1_id'); ?>" value="<?php echo $instance['item1_id']; ?>" /> <input class="widefat" id="<?php echo $this->get_field_id('item2_id'); ?>" name="<?php echo $this->get_field_name('item2_id'); ?>" value="<?php echo $instance['item2_id']; ?>" />

2
การเพิ่มฟิลด์แบบฟอร์มวิดเจ็ตแบบไดนามิก
ฉันพยายามเพิ่มเขตข้อมูลฟอร์มลงในวิดเจ็ต WordPress แบบไดนามิก ดังนั้นหากผู้ใช้ต้องการเพิ่มวันที่อื่นให้กับกิจกรรมพวกเขาสามารถคลิกปุ่มเพื่อรับฟิลด์เพิ่มเติม คำถามคือ: บันทึกฟิลด์อินพุตที่สร้างใหม่ไปยังฐานข้อมูลของฉันได้อย่างไร ฉันจำเป็นต้องเขียนฟังก์ชั่นอัพเดทแบบกำหนดเองหรือไม่? เคล็ดลับใด ๆ นี่คือลักษณะที่วิดเจ็ต: นี่คือรหัส php ของฉันสำหรับวิดเจ็ต (จนถึงตอนนี้): class Spillelister extends WP_Widget { public function Spillelister() { $widget_options = array ( 'classname' => 'spillelister-widget', 'description' => 'Widget for å illustrere spillelister.'); parent::WP_Widget('spillelister_widget', 'Spilleplan', $widget_options); } // The actual widget user interface public function widget($args, …

3
เปลี่ยน wp-admin / widgets.php
เราต้องการออกแบบหน้าวิดเจ็ตในแผงผู้ดูแลระบบแตกต่างกันเล็กน้อยส่วนใหญ่เพื่อช่วยให้ผู้ดูแลเว็บไซต์เข้าใจว่าแต่ละวิดเจ็ตจะปรากฏในเว็บไซต์: สำหรับสิ่งนั้นเราต้องเปลี่ยน HTML ที่ widgets.php แสดงผล (เพียงแค่เปลี่ยน css ไม่เพียงพอ) เราจะทำอย่างไรโดยไม่แตะต้องหลัก?

7
การเพิ่ม div เพื่อตัดเนื้อหาวิดเจ็ตหลังชื่อวิดเจ็ต
ฉันพยายามเพิ่ม div ในเนื้อหาวิดเจ็ตในแถบด้านข้างแบบไดนามิกของฉัน นี่คือรหัสลงทะเบียน register_sidebar(array( 'name' => "Sidebar1", 'id' => 'home-sidebar-1', 'before_widget' => '<div class="sidebar-box">', 'after_widget' => '</div>', 'before_title' => '<div class="title">', 'after_title' => '</div>', )); แต่รหัสนี้ทำให้เกิดเช่นนี้ <div class="sidebar-box"> <div class="title">{WIDGET TITLE}</div> {WIDGET CONTENT} </div> นี่คือสิ่งที่ฉันพยายามทำ; <div class="sidebar-box"> <div class="title">{WIDGET TITLE}</div> <div class="content"> {WIDGET CONTENT} </div> </div> สามารถทำได้อย่างไร?

1
ความแตกต่างระหว่าง wp_register_sidebar_widget และ register_widget คืออะไร
ความแตกต่างระหว่างพวกเขาและเมื่อเราควรใช้แต่ละคนคืออะไร? ฉันใช้wp_register_sidebar_widgetตอนนี้และมันใช้ได้ดี แต่ฉันเห็นบทเรียนออนไลน์มากมายเกี่ยวกับวิธีสร้างวิดเจ็ตโดยใช้ register_widget และคลาสวิดเจ็ตของฉันส่วนใหญ่ไม่ต้องการตัวเลือกดังนั้นฉันควรติดwp_register_sidebar_widgetหรือควรใช้register_widgetแม้ว่าฉันไม่มีแบบฟอร์ม? ขอบคุณล่วงหน้า.

1
จำกัด จำนวนวิดเจ็ตที่ไม่แอ็คทีฟ
ฉันพยายาม จำกัด จำนวนวิดเจ็ตจากแถบข้าง "wp_inactive_widgets" สูงสุด 10 เนื่องจากหน้าผู้ดูแลระบบวิดเจ็ตช้ามากอย่างไม่น่าเชื่อ: add_filter('pre_update_option_sidebars_widgets', 'cleanup_inactive_widgets', 10, 2); function cleanup_inactive_widgets($new, $old){ if(!empty($new['wp_inactive_widgets']) && count($new['wp_inactive_widgets']) > 10) $new['wp_inactive_widgets'] = array_slice($new['wp_inactive_widgets'], -10, 10); return $new; } ดูเหมือนว่าจะใช้งานได้ แต่ปัญหาคือตัวเลือกอินสแตนซ์วิดเจ็ตยังคงอยู่ในฐานข้อมูลไม่ว่าจะมีอินสแตนซ์วิดเจ็ตอยู่หรือไม่ในแถบด้านข้าง ... ไม่มีใครรู้วิธีที่จะลบตัวเลือกเครื่องมือด้วยหรือไม่ ฉันพบทางออก: แก้ไข: ในบางสถานการณ์ดูเหมือนว่าจะลบวิดเจ็ตจากแถบด้านข้างอื่น ๆ ด้วยฉันไม่แน่ใจว่าเกิดจากอะไร ... if(!empty($new['wp_inactive_widgets']) && count($new['wp_inactive_widgets']) > 10){ // find out which widget instances to remove …
10 php  widgets  options 

5
เพิ่มคลาสให้กับ before_widget จากภายในวิดเจ็ตที่กำหนดเอง
ฉันมีวิดเจ็ตที่กำหนดเองง่าย ๆ ที่ขอความกว้างของมัน (ซึ่งจะใช้ในภายหลังในส่วนหน้า) ฟิลด์ความกว้างเป็นแบบเลื่อนลงแบบเลือกดังนั้นผู้ใช้จึงมีตัวเลือกที่กำหนดไว้ล่วงหน้า ฉันจะมีอินสแตนซ์จำนวนมากของวิดเจ็ตของฉันแต่ละคนจะมีการตั้งค่าความกว้างของตัวเอง ตอนนี้ในรหัสวิดเจ็ตของฉันฉันมีรหัสต่อไปนี้: echo $before_widget; ซึ่งผลลัพธ์ใน: <div class="widget my" id="my-widget-1"></div> สิ่งที่ฉันต้องการจะทำคืออย่างใดขอ$before_widgetและเพิ่มชั้นเรียนของฉันเอง (ความกว้างที่ระบุจากแบบเลื่อนลงเลือก) ดังนั้นฉันต้องการมาร์กอัปต่อไปนี้: <div class="widget my col480" id="my-widget-3"></div> class="col480"และหากมีระดับไม่ระบุแล้วฉันต้องการที่จะเพิ่ม ฉันจะบรรลุสิ่งนี้ได้อย่างไร ขอบคุณที่ช่วยเหลือ! Dasha

3
ข้อมูลประเภทโพสต์ที่กำหนดเองในวิดเจ็ต Sidebar?
(หมายเหตุ: คำถามนี้เป็นเรื่องเกี่ยวกับฟิลด์ที่กำหนดเอง แต่ @MikeSchinkel มีทางออกที่ดีกว่าเกี่ยวกับประเภทโพสต์ที่กำหนดเอง) ในเว็บไซต์ของฉันฉันมีหลายหน้าซึ่งฉันต้องการแสดงข้อมูลเดียวกันในแถบด้านข้าง ตัวอย่างเช่นในโครงสร้างเช่นนี้: -Home -Cars -Volvo 850 overview -Volvo 850 tech spec -Volvo 850 pictures -Porsche 911 overview -Porsche 911 tech spec -Porsche 911 pictures -Roads -Route 66 overview -Route 66 history -Route 66 pictures -Pan-American Highway overview -Pan-American Highway history -Pan-American Highway pictures ฉันต้องการให้วอลโว่ 850 …

4
เพิ่มวอล์คเกอร์ที่กำหนดเองในเมนูที่สร้างขึ้นในวิดเจ็ต
ฉันรู้วิธีเพิ่มวอล์คเกอร์ในเมนูที่กำหนดเองที่สร้างขึ้นโดยธีม (เมนูที่มีชื่อprimaryในตัวอย่างนี้) แต่ฉันจะกำหนดเป้าหมายเมนูที่สร้างขึ้นในวิดเจ็ตด้วยวิดเจ็ตเมนูกำหนดเอง wordpress เริ่มต้นได้อย่างไร if ( has_nav_menu( 'primary' ) ) { $args = array( 'menu' => 'main-menu', 'menu_id' => 'main-menu', 'theme_location' => 'primary', 'depth' => 0, 'container' => false, 'menu_class' => 'nav', 'walker' => new Myprefix_Walker_Nav_Menu(), 'echo' => 0 ); $nav = wp_nav_menu( $args ); }
10 menus  widgets  walker 

3
ตัวแก้ไขภาพวิดเจ็ตข้อความ 4.8v ใหม่สามารถลบได้หรือไม่
ตัวแก้ไขภาพวิดเจ็ต 4.8 ใหม่ในวิดเจ็ตข้อความเริ่มต้นถูกปลดหรือลบออกแล้วและวิดเจ็ตคืนสู่รูปแบบตัวแก้ไขล่วงหน้า 4.8 ฉันไม่ต้องการหรือต้องการเครื่องมือแก้ไขภาพในวิดเจ็ต ฉันใช้พวกเขาสำหรับข้อความธรรมดาและ HTML และไม่ต้องการให้ผู้ใช้คนอื่นเพิ่มอะไรนอกเหนือจากข้อความธรรมดา ฉันเรียนรู้วิธีการลบวิดเจ็ตวิดีโอเสียงและรูปภาพใหม่functions.phpเนื่องจากไม่ต้องการ: // Unregister default WP Widgets function unregister_default_wp_widgets() { unregister_widget('WP_Widget_Media_Audio' ); unregister_widget('WP_Widget_Media_Image'); unregister_widget( 'WP_Widget_Media_Video' ); } add_action('widgets_init', 'unregister_default_wp_widgets', 1); แต่ฉันยังต้องการลบแท็บเครื่องมือแก้ไขภาพออกจากวิดเจ็ตข้อความเริ่มต้น แก้ไข:ฉันสามารถใช้ Widget โค้ด PHP https://wordpress.org/plugins/php-code-widget/ซึ่งไม่มีโปรแกรมแก้ไขภาพและแม้ว่าปกติฉันไม่ต้องการphpการดำเนินการ แต่ก็มีประโยชน์ แต่ตอนนี้เพิ่ม "สิ่งที่ผิด" phpเวกเตอร์สำหรับผู้ใช้ที่อาจจะเล่นกับ

3
อัปเกรดปลั๊กอิน: การตั้งค่าวิดเจ็ต
ฉันได้ลองทำวิจัยเรื่องนี้แล้ว แต่ยังไม่พบว่ามีอะไรที่แข็ง ฉันมีปลั๊กอินที่ฉันใช้งานและระหว่างเวอร์ชันล่าสุดและเวอร์ชันใหม่ที่เราได้ทำการปรับปรุงบางอย่างสำหรับวิดเจ็ตที่เปลี่ยนชื่อการตั้งค่าบางส่วน (ในแบ็กเอนด์) และฉันมีปัญหาในการสร้างรูทีนการอัพเกรดเพื่อทำสิ่งนี้ สิ่งที่ฉันได้ทำจนถึงตอนนี้ที่ดูเหมือนว่าจะทำงาน (ส่วนใหญ่) คือ: $widget = get_option( 'widget_name' ); if( is_array( $widget ) && ! empty( $widget ) ) { foreach( $widget as $a => $b ) { if( ! is_array( $b ) ) { continue; } foreach( $b as $k => $v ) { $widget[$a]['setting1'] …

2
ฉันจะใช้ฟังก์ชั่น "เรียกดูลิงก์" ใน Wordpress ได้อย่างไร?
ฉันกำลังเขียนโค้ดวิดเจ็ตและฉันต้องการให้ผู้ใช้สามารถเลือกลิงก์อย่างที่คุณสามารถทำได้เมื่อแก้ไขโพสต์หรือหน้าปกติ (เมื่อคุณคลิกที่ไอคอนลิงค์เล็ก ๆ และคุณจะได้รับฟังก์ชั่นการค้นหา AJAX ในป๊อปอัป ) ไม่มีใครรู้ว่าฉันทำงานนี้ได้อย่างไร ฉันมีปุ่ม HTML ที่ฉันต้องการแนบและคลิกได้ถึงและฟิลด์สำหรับค่าที่จะเข้าไป ใน class-wp-editor.php ฉันพบสิ่งที่น่าสนใจและสงสัยว่าฉันอาจต้องการไฟล์เหล่านี้ .. ? wp_enqueue_script('wp-fullscreen'); wp_enqueue_script('wplink'); ในการโทรfullscreen.link();เช่นไฟล์ที่กล่าวถึงข้างต้นฉันได้รับข้อผิดพลาดนี้: Uncaught ReferenceError: wpActiveEditor is not defined .. และตอนนี้ฉันกำลังนิ่งงันอยู่เพราะ JS ที่อ้างอิงตัวแปรนั้นดูบ้าสำหรับฉัน สนใจที่จะชี้ให้ฉันในทิศทางที่ถูกต้อง? ฉันชอบที่จะทำงานนี้มันจะสร้างส่วนต่อประสานผู้ใช้สำหรับวิดเจ็ตของฉัน! ------ ------- แก้ไข ไม่มากจนตอนนี้นอกจากสคริปต์ที่ฉันได้กล่าวไปแล้ว <label for="<?php echo $this->get_field_name('link'); ?>">Link URL (including http://) : </label> <input type="text" id="<?php echo $this->get_field_id('link'); …

1
แปลชื่อวิดเจ็ตโดยใช้ปลั๊กอิน qTranslate
จริงๆแล้วฉันใช้ปลั๊กอิน qTranslate เพื่อแปลเว็บไซต์ของฉัน มันทำงานได้ดีกับทุกอย่างยกเว้นสิ่งเดียว ชื่อของวิดเจ็ตแถบด้านข้างของฉัน ที่จริงแล้วในการแปลคำบางคำเราต้องใส่แท็กดังนี้: <!--:en-->My English Title<!--:--><!--:fr-->My French Title<!--:--> เมื่อฉันใช้สิ่งนี้ในเนื้อหาของวิดเจ็ตของฉันมันใช้งานได้ดี แต่ในชื่อเรื่องเมื่อฉันบันทึกวิดเจ็ต มันลบแท็กของฉันและเพิ่งแสดง: My English TitleMy French Title ใครรู้วิธีแก้ไขปัญหานี้

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