WordPress

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

2
จะตรวจสอบเอกลักษณ์ของคำนำหน้าปลั๊กอินได้อย่างไร
เพื่อหลีกเลี่ยงการชนกับปลั๊กอินอื่น ๆ หนึ่งควรนำหน้าฟังก์ชั่นทั่วโลกทั้งหมดการกระทำและปลั๊กอินด้วยคำนำหน้าที่ไม่ซ้ำกันเช่น: function xyz_function_name() { ... } คำถามคือฉันจะยืนยันได้อย่างไรว่าxyzมีเอกลักษณ์ ตัวอย่างเช่น Yoast SEO ใช้wpseo_ซึ่งฉันสามารถนึกภาพปลั๊กอิน SEO อื่น ๆ ได้อย่างง่ายดายเช่นกัน วิธีที่ดีที่สุดในการค้นหาปลั๊กอิน WordPress ที่มีอยู่สำหรับการชนที่อาจเกิดขึ้นคืออะไร? หรือว่ามี

1
เพิ่มปุ่มย่อปิดตัวเองลงใน TinyMCE ใน WP 4.6
ฉันคุ้นเคยกับการสร้างรหัสย่อที่ปิดตัวเองเช่น: // shortcode function wpse_shortcode_example( $wpse_atts ) { // Attributes $wpse_atts = shortcode_atts( array( 'foo' => 'bar', 'width' => '100%', 'height' => 'auto', ), $wpse_atts, 'wpse' ); // Return return '<embed src="' . $wpse_atts['src'] . '" width="' . $wpse_atts['width'] . '" height="' . $wpse_atts['height'] . '"; } add_shortcode( 'wpse', 'wpse_shortcode_example' …

1
วิธีการใช้ wpLink ไม่มีตัวแก้ไข?
ฉันต้องการสร้างตัวเลือกชุดรูปแบบเพื่อเพิ่มลิงค์ กำลังโหลดสคริปต์เหล่านี้และเรียกใช้กล่องโต้ตอบทำงานได้ดีหากมีตัวแก้ไข wp อยู่ wp_enqueue_script('wplink'); wp_enqueue_script('wpdialogs'); wp_enqueue_script('wpdialogs-popup'); wp_enqueue_style('wp-jquery-ui-dialog'); wp_enqueue_style('thickbox'); wp_editor('', 'unique_id', array('editor_class'=>'hidden')); $('.add-link').on("click", function(e){ e.preventDefault(); wpLink.open(); return false; }); แต่จะทำให้กล่องโต้ตอบเปิดลิงก์โดยไม่มีตัวแก้ไขอยู่ได้อย่างไร นี่คือสิ่งที่ฉันเป็น
11 links  editor 

2
มีข้อเสียของการใช้ wp_defer_term_counting หรือไม่
ฉันมีฐานข้อมูล WordPress พร้อมโพสต์กว่า 2 ล้านโพสต์ เมื่อใดก็ตามที่ฉันแทรกโพสต์ใหม่ฉันต้องโทรwp_set_object_termsซึ่งใช้เวลานานกว่าสองวินาทีในการดำเนินการ ฉันเจอโพสต์นี้ที่แนะนำให้โทรwp_defer_term_countingข้ามการนับคำ มีผลกระทบร้ายแรงต่อการทำงานของ WordPress หรือไม่หากฉันใช้วิธีการนี้ นี่คือรหัสจากโพสต์ในกรณีที่ลิงก์เสีย: function insert_many_posts(){ wp_defer_term_counting(true); $tasks = get_default_tasks(); for ($tasks as $task){ $post = array( 'post_title' => $task[content], 'post_author' => $current_user->ID, 'post_content' => '', 'post_type' => 'bpc_default_task', 'post_status' => 'publish' ); $task_id = wp_insert_post( $post ); if ( $task[category] ) //Make …

1
วิธีเพิ่มปุ่ม“ แทรก / แก้ไขลิงค์” ในหน้าต่างที่กำหนดเองของ Tinymce ป๊อปอัพ
ฉันจำเป็นต้องแทรกข้อความบางส่วนในเนื้อหาของบทความซึ่งเปลี่ยนเป็น "แท็กด้านข้าง" โดยใส่ไว้ในแท็ก div บางรายการด้วยคลาสที่กำหนดเอง ฉันได้สร้างปุ่มที่กำหนดเองใน Tinymce ที่ปรากฏขึ้นในหน้าต่างใหม่ที่มีช่องข้อความ คุณเขียนข้อความและเมื่อคุณกด OK จะเป็นการเพิ่มแท็ก div เริ่มต้นและแท็ก div แล้วแทรกลงในตัวแก้ไข wp ที่เคอร์เซอร์ของคุณอยู่ นี่คือรหัส: (function () { tinymce.PluginManager.add('custom_mce_button2', function(editor, url) { editor.addButton('custom_mce_button2', { icon: false, text: 'Side Tag', onclick: function (e) { editor.windowManager.open( { title: 'Insert a Sidetag', body: [{ type: 'textbox', name: 'title', placeholder: 'Type …

1
เปลี่ยนลักษณะที่ปรากฏของข้อความย่อภายในตัวแก้ไข
เป็นไปได้หรือไม่ที่จะเปลี่ยนรูปลักษณ์ของรหัสย่อในโปรแกรมแก้ไขหรือในทางใดทางหนึ่งทำให้มีความแตกต่างจากข้อความโดยรอบมากขึ้น? ตัวอย่างเช่นหากเนื้อหาของโพสต์เป็นเช่นนี้ ... เว็บไซต์อ้างอิงเกี่ยวกับ Lorem Ipsum ให้ข้อมูลเกี่ยวกับต้นกำเนิดของมันเช่นเดียวกับเครื่องกำเนิดไฟฟ้า Lipsum สุ่มเว็บไซต์อ้างอิงเกี่ยวกับ Lorem Ipsum ให้ข้อมูลเกี่ยวกับต้นกำเนิดของมันเช่นเดียวกับเครื่องกำเนิดไฟฟ้า Lipsum สุ่ม [shortcode] asfdasfd [/ shortcode] เว็บไซต์อ้างอิง เกี่ยวกับ Lorem Ipsum ให้ข้อมูลเกี่ยวกับต้นกำเนิดของมันเช่นเดียวกับเครื่องกำเนิดไฟฟ้า Lipsum สุ่มเว็บไซต์อ้างอิงเกี่ยวกับ Lorem Ipsum ให้ข้อมูลเกี่ยวกับต้นกำเนิดของมันเช่นเดียวกับเครื่องกำเนิดไฟฟ้า Lipsum สุ่มเว็บไซต์อ้างอิงเกี่ยวกับ Lorem Ipsum ให้ข้อมูลเกี่ยวกับต้นกำเนิดของมัน เช่นเดียวกับเครื่องกำเนิดไฟฟ้า Lipsum สุ่ม ... มันจะดีถ้ารหัสย่อด้านในเป็นตัวหนาดังนั้นมันสามารถมองเห็นได้ง่ายเช่นนี้:

1
เริ่มต้นตัวแก้ไข TinyMCE / โปรแกรมแก้ไขภาพหลังจากแทรก AJAX
ฉันมีกลุ่มฟิลด์สไตล์ "repeater" ในหน้าตัวเลือกที่กำหนดเอง มีตัวแก้ไขภาพที่ใช้งานอยู่ในสถานะที่ซ่อนอยู่และเมื่อผู้ใช้คลิก "เพิ่มใหม่" แถวทั้งหมดจะถูกโคลน จากนั้นฉันต้องเริ่มต้นโปรแกรมแก้ไขภาพในแถวโคลน รหัสของฉัน: $('.repeater-add-new').click(function(event) { event.preventDefault(); var target = $(this).data('repeater'); $( '#' + target).find('.repeater-row:not(.clone) .repeater-content.in').collapse(); var newRow = $( '#' + target + ' .repeater-row.clone' ).clone().appendTo( '#' + target + ' .repeater-row-wrapper' ).removeClass('clone'); rebuildIndex(target); // Initialize editors if needed newRow.find('.wp-editor-wrap').each(function(index, el) { var ed_id = …
11 ajax  tinymce  editor 


1
แทนที่การแปลหลัก WordPress เริ่มต้น
WordPress ถูกตั้งค่าเป็นภาษาดัตช์ เมื่อฉันใช้get_the_archive_title()ชุดรูปแบบของฉันถูกต้องแสดงผล "Categorie: หมวดหมู่ชื่อ" ในหน้าเก็บหมวดหมู่ อย่างไรก็ตามฉันต้องการอ่าน "Sectie: Category-name" ฉันไม่ต้องการเปลี่ยนไฟล์ภาษาดัตช์ในโฟลเดอร์ wp-content / languages ​​เพราะมันจะได้รับการปรับปรุงโดยการอัปเดต WordPress ฉันพยายามคัดลอกไฟล์แปลนั้นแก้ไขการแปล "หมวดหมู่" และวางไฟล์ nl_NL.mo ใหม่ลงในธีม / ภาษาของฉัน สิ่งนี้ไม่มีผลกระทบใด ๆ ฉันจะบรรลุการแปลที่แตกต่างกันสำหรับบางสตริงโดยไม่ต้องแก้ไขไฟล์การแปลหลักได้อย่างไร

1
วิธีการ dequeue สคริปต์และสไตล์ในธีมลูกอย่างถูกต้อง?
ฉันสร้างธีมผู้ปกครองและธีมลูกในโครงการของฉัน ฉันลงทะเบียน CSS และ JavaScript ในธีมหลักของฉันดังนี้: function project_necessary_scripts() { //Stylesheets wp_register_style( 'bootstrap-css', get_template_directory_uri() .'/css/bootstrap.min.css' ); wp_register_style( 'bootstrap-map', get_template_directory_uri() .'/css/bootstrap.css.map' ); wp_register_style( 'project-css', get_stylesheet_uri() ); wp_enqueue_style( 'bootstrap-css' ); wp_enqueue_style( 'bootstrap-map' ); wp_enqueue_style( 'project-css' ); //JavaScripts wp_register_script( 'modernizr-js', get_template_directory_uri() .'/js/modernizr-2.8.3.min.js', array(), '2.8.3' ); wp_register_script( 'project-js', get_template_directory_uri() .'/js/project.min.js', array('jquery'), '20150401', true ); wp_enqueue_script( …

2
รับ URL การอัปโหลดด้วย ID บล็อกในหลายไซต์
สาระสำคัญของคำถามคือฉันกำลังมองหาวิธีการแก้ปัญหาเช่นนี้: $blog_upload_dir_info = wp_upload_dir( $date, $blog_ID ); $blog_upload_url = $blog_upload_dir_info[ 'baseurl' ]; $blog_IDความแตกต่างของรหัสบล็อกปัจจุบันอยู่ที่ไหน วิธีการแก้ปัญหาที่เห็นได้ชัดที่สุดของ WP ล้มเหลว: switch_to_blog( $blog_ID ); $blog_upload_dir_info = wp_upload_dir(); restore_current_blog(); เป็นwp_upload_dir ()ขึ้นอยู่กับค่าคงWP_CONTENT_URLที่ซึ่งตั้งค่า URL ของบล็อกปัจจุบันแบบไดนามิกยกเว้นว่าupload_url_pathมีการตั้งค่าตัวเลือก แน่นอนฉันสามารถตั้งค่าตัวเลือกนี้ แต่นี่จะจับคู่รหัสของฉันกับการตั้งค่าระบบที่เป็นรูปธรรมซึ่งรวมถึง» WTF? « - ที่มีศักยภาพ ดังนั้นฉันตัดสินใจที่จะเพิ่มตัวเลือกนี้: /** * Apply a value to the option blog_upload_url * if there's not already one * …

7
Wordpress จับคู่ URL กับตัวหนอนต่อท้าย
ฉันได้รับรายงานช่องโหว่ (1) ที่ดูเหมือนว่ามีความหมายว่าอาจมีปัญหาด้านความปลอดภัยในวิธีที่ Wordpress จัดการกับ URL ด้วยเครื่องหมายตัวหนอนต่อไปนี้ ดูเหมือนว่าสแกนเนอร์คิดว่าเว็บไซต์อาจให้บริการบางรายการไดเรกทอรีและเช่น ฉันประหลาดใจที่เว็บไซต์ของฉันยังคงให้บริการเนื้อหาใน URL ที่แตกต่างกันดังนั้นฉันจึงทำการทดสอบโดยการติดตั้งอินสแตนซ์ WP ว่างเปล่าทั้งหมดเปลี่ยนเป็น Permalinks "ชื่อโพสต์" และยืนยันว่า yep URL ใด ๆ ที่มีเครื่องหมายตัวหนอน URL ที่ไม่มีเครื่องหมายตัวหนอน แท้จริงแล้ว URL เช่นนี้: https://mywordpresssite.com/my-permalink สามารถเข้าถึงได้ด้วย URL ต่อไปนี้: https://mywordpresssite.com/my-permalink~ https://mywordpresssite.com/my-permalink~/ https://mywordpresssite.com/my-permalink~~~~~~ ฉันแหย่เล็กน้อยเพื่อดูว่า WP แยกวิเคราะห์ Permalinks ไว้ที่ใดและฉันติดตามลงไปclass-wp.phpในparse_requestวิธีการ แต่ไม่สามารถไปไกลกว่านั้นได้อีก คำถามของฉันคือถ้าสิ่งนี้เป็นพฤติกรรมที่ตั้งใจไว้สำหรับ WP และถ้าเป็นเช่นนั้นมีวิธีใดบ้างที่ฉันจะปิดการทำงานนี้เพื่อไม่ให้จับคู่ตัวหนอนได้ เหตุใด WP จึงตีความ URL ด้วย tildes เป็น URL …
11 permalinks 

2
บุ้ง Permalink ของบทความเก่าถูกเก็บไว้ที่ไหน
ฉันตีพิมพ์บทความที่มีบุ้ง Permalink: http://domain.com/writing writing-loremแล้วหลังจากเผยแพร่ผมเปลี่ยนกระสุนความคิดเห็นไป ตอนนี้เมื่อใดก็ตามที่เราจะไปเยี่ยมก็เปลี่ยนเส้นทางไปยัง/writing/writing-lorem ฉันต้องการใช้writingกระสุนสำหรับหมวดหมู่ใหม่ แต่ไม่สามารถเปลี่ยนwriting-2ได้ เพื่อพยายามที่จะลบระเบียนทั้งหมดของwritingกระสุนผมมองในฐานข้อมูลสำหรับpost_nameคอลัมน์ภายใต้โพสต์ที่ writing-loremแต่ค่าเป็นกระสุนใหม่ จากนั้นฉันค้นหาโพสต์อื่น ๆ ที่มีwritingค่าไม่พบ กระสุนถูกเก็บไว้ตรงไหนและฉันจะลบออกได้อย่างไรเพื่อให้สามารถใช้กับหมวดหมู่ได้

3
แฮ็กเกอร์ทำอะไรกับ wp-config.php ของฉัน
ฉันพยายามที่จะรักษาความปลอดภัยบล็อก WordPress ของฉัน ผมอ่านโพสต์ในเว็บบางที่ฉันควรเปลี่ยนของฉันและซ่อนของฉันtable_prefix wp-config.phpอย่างไรก็ตามฉันไม่ได้รับมัน? ผู้โจมตีสามารถทำอะไรกับฉันได้wp-config.phpบ้าง ฉันหมายถึงมีการกำหนดค่า db ของฉัน แต่ผู้โจมตีต้องการDB_HOSTตัวอย่างของฉันซึ่งไม่ง่ายที่จะได้รับเพื่อเชื่อมต่อกับฐานข้อมูลของฉันได้อย่างไร (ในกรณีของฉันมัน: define('DB_HOST', 'localhost');ซึ่งผู้โจมตีไม่สามารถใช้เพื่อเชื่อมต่อกับฐานข้อมูลของฉัน ) หรือฉันจะหายไปฏ? ฉันขอขอบคุณคำตอบของคุณ!

2
การสร้างแบบฟอร์มการค้นหาสำหรับฟิลด์ที่กำหนดเอง
ฉันสร้างธีมสำหรับตัวแทนจำหน่ายรถยนต์ รถแต่ละคันเป็นประเภทโพสต์ที่กำหนดเอง ("ยานพาหนะ") และมีประมาณ 12 ช่องที่กำหนดเองพร้อมสิ่งต่าง ๆ เช่นสร้าง, รุ่น, ระยะทาง, ประเภทของเชื้อเพลิง ฯลฯ ดังนั้นโดยทั่วไปในหน้าแรกฉันต้องการแบบฟอร์มการค้นหาที่มีรายการแบบหล่นลงสำหรับยี่ห้อและรุ่นและมี Makes หรือ Models ที่มีอยู่ ฉันต้องการให้มี 2 ตัวเลือกสำหรับปีเพื่อให้ผู้ใช้สามารถเลือก "2006" และ "2012" และผลการค้นหามียานพาหนะทั้งหมดที่มีปีระหว่างตัวเลขสองตัวนั้น มีปลั๊กอินที่สามารถทำได้หรือไม่? ขอบคุณสำหรับความช่วยเหลือใด ๆ .. มันทำให้ฉันบ้าไปหลายชั่วโมง !!!!

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