WordPress

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

4
ลบที่เก็บปลั๊กอิน WordPress
ฉันต้องการสร้างปลั๊กอิน WP ดังนั้นฉันจึงขอและคำขอของฉันได้รับการอนุมัติโดย WordPress.org แต่ฉันไม่ต้องการที่จะพัฒนาปลั๊กอินนั้นอีกต่อไป ฉันจะลบที่เก็บถาวรได้อย่างไรหรือร้องขอให้ลบทิ้ง

1
wp.media.view.ImageDetails - บันทึกการตั้งค่าเป็นคุณลักษณะ HTML5 data- * สำหรับรูปภาพ
ในที่สุดสิ่งที่ฉันต้องการบรรลุคือการตั้งค่าพิเศษที่เพิ่มลงในกล่องรายละเอียดรูปภาพที่จะถูกเก็บไว้ใน<img>แท็กภาพเป็นdata-*คุณลักษณะ ตัวอย่าง: <img src="..." data-my_setting="..."> รหัสของฉัน ฉันกำลังสร้างปลั๊กอินและฉันจำเป็นต้องสร้างการตั้งค่าเพิ่มเติมเมื่อคุณแก้ไขภาพ จนถึงตอนนี้ฉันมีรหัสต่อไปนี้: jQuery(function($) { var imageDetails = wp.media.view.ImageDetails wp.media.view.ImageDetails = wp.media.view.ImageDetails.extend({ // Initialize - Call function to add settings when rendered initialize: function() { this.on('post-render', this.add_settings); }, // To add the Settings add_settings: function() { $('.advanced-section').prepend('\ <h2>My Settings</h2>\ <input type="text" class="my_setting">\ '); // Set …
19 plugins  images  media  html5 

4
รับ id หน้าโดยแม่แบบ
ฉันต้องการทราบว่าเป็นไปได้หรือไม่ที่จะได้รับ ID หน้าด้วยเทมเพลตเฉพาะ เป็นไปได้ไหมที่จะได้รับ ID ของหน้าที่กำหนดให้กับ "page-special.php"?
19 pages  templates 

5
โพสต์จะไม่แสดงวันที่หากมีโพสต์อื่นที่มีวันเดียวกัน
ฉันมีประเภทโพสต์ที่กำหนดเอง "กด" และจัดทำเทมเพลตของหน้าการสืบค้นของประเภทนั้น โพสต์ควรจะแสดงวันที่เผยแพร่ของพวกเขา แต่ถ้ามีมากกว่าหนึ่งโพสต์ที่มีวันเดียวกันโพสต์แรกเท่านั้นที่แสดงวันที่และคนอื่น ๆ ไม่ได้ มีวิธีแสดงวันที่ของทุกโพสต์หรือไม่ <?php get_header(); ?> <?php $wp_query = new WP_Query(); $wp_query -> query('post_type=press&showposts=100'); while ($wp_query->have_posts()) : $wp_query->the_post(); ?> <div id="press"> <div class="press-item cf"> <div class="press-img"><a href="<?php the_field('link'); ?>"><?php the_post_thumbnail('medium');?></a> </div> <div class="press-content"> <div class="press-title"><a href="<?php the_field('link'); ?>"><?php echo get_the_title(); ?></a> </div> <div class="press-excerpt"><?php the_excerpt(); …
19 date 

8
แสดงผลิตภัณฑ์ที่โดดเด่นผ่านลูปที่กำหนดเองใน woocommerce บนหน้าเทมเพลต
ฉันต้องการแสดงผลิตภัณฑ์เด่น 6 รายการจากร้านค้า woocommerce บนเทมเพลตหน้าแรกของฉัน หลังจากการวิจัยบางอย่างฉันพบว่าวิธีที่ถูกต้องในการทำเช่นนี้คือผ่านลูปแบบกำหนดเอง (ฉันไม่ต้องการใช้รหัสย่อเพราะฉันต้องการเพิ่มคลาสเพิ่มเติมสำหรับการกำหนดสไตล์ ฯลฯ ) ฉันยังพบว่ากุญแจที่ woocommerce ใช้สำหรับ ผลิตภัณฑ์เด่นคือ '_featured' ฉันรวบรวมรหัสด้านล่างเพื่อแสดงผลิตภัณฑ์ใด ๆ ที่ฉันเลือกเป็นผลิตภัณฑ์เด่นในร้านค้าของฉัน แต่มันใช้งานไม่ได้ ... ชื่นชมความช่วยเหลือใด ๆ <?php $args = array( 'post_type' => 'product', 'stock' => 1, 'showposts' => 6, 'orderby' => 'date', 'order' => 'DESC' , 'meta_query' => array( array( 'key' => '_featured', 'value' => …

3
วิธีเพิ่มประสิทธิภาพเว็บไซต์ WP สำหรับโพสต์นับล้าน
ฉันกำลังทำงานกับเว็บไซต์ของ บริษัท ที่มีแนวโน้มที่จะสร้างโพสต์นับล้านผ่านประเภทโพสต์ที่กำหนดเอง พวกเขากำลังสวดอ้อนวอนดังนั้นโดยทั่วไปผู้ใช้ส่วนหน้าเพียงแค่ส่งวลีสั้น ๆ ผ่านแบบฟอร์ม บริษัท ทั้งหมดให้ความสำคัญกับเนื้อหาโพสต์และวันที่โพสต์ ไซต์ยังไม่ได้เปิดตัวและพวกเขามีโพสต์มากกว่า 120,000 รายการดังนั้นฉันจึงตายอย่างจริงจังเมื่อฉันพูดเป็นล้าน ดังนั้นคำถามการเพิ่มประสิทธิภาพคู่: สมมติว่าฉันมีหมวดหมู่ "เด่น" ในประเภทโพสต์ที่กำหนดเองที่มี 500,000 โพสต์ หมวดหมู่เรื่องเด่นมีเพียง 500 โพสต์ หากฉันสร้างการสืบค้นสำหรับโพสต์เด่นฉันจะทำการค้นหาทั้ง 500,000 โพสต์หรือเฉพาะ 500 โพสต์ จะทำอย่างไรถ้าฉันต้องการแสดงเฉพาะสิบโพสต์ล่าสุดที่โพสต์ไว้ เมื่อบันทึกประเภทโพสต์ที่กำหนดเองนี้ไปยังฐานข้อมูลมีสิ่งใดบ้างที่ฉันสามารถทำได้เพื่อลดทรัพยากรของเซิร์ฟเวอร์โดยเฉพาะอย่างยิ่งเนื่องจากสิ่งเดียวที่จำเป็นจริงๆคือเนื้อหาของโพสต์และวันที่? ฉันควรจะใช้ประเภทโพสต์ที่กำหนดเองหรือไม่ ฉันชอบในหลักการเพราะมันรวมเข้ากับผู้ดูแลระบบ WordPress ได้ดี แต่ถ้ามีข้อเสียเปรียบอย่างมากในการทำงานฉันคิดว่าฉันสามารถทำอะไรที่แตกต่างออกไปได้ ฉันไม่เคยทำงานเกี่ยวกับโครงการในระดับนี้ดังนั้นฉันจึงกังวลเกี่ยวกับประสิทธิภาพมากกว่าปกติ ขอบคุณสำหรับความช่วยเหลือใด ๆ !

1
ใช้ pre_get_posts ในหน้าจริงและหน้าคงที่
ฉันได้ทำการวิจัยอย่างกว้างขวางเกี่ยวกับวิธีการใช้pre_get_postsบนหน้าจริงและหน้าคงที่และดูเหมือนว่าไม่มีวิธีการพิสูจน์คนโง่ ตัวเลือกที่ดีที่สุดที่ฉันพบว่าวันที่มาจากการโพสต์ทำโดย @birgire ใน Stackoverflow ฉันเขียนมันใหม่ลงในคลาสของการสาธิตและทำให้โค้ดนั้นมีความเคลื่อนไหวมากขึ้น class PreGeTPostsForPages { /** * @var string|int $pageID * @access protected * @since 1.0.0 */ protected $pageID; /** * @var bool $injectPageIntoLoop * @access protected * @since 1.0.0 */ protected $injectPageIntoLoop; /** * @var array $args * @access protected * @since 1.0.0 */ protected …

2
ปัญหาการทำความเข้าใจ Apply_filters ()
ใน Apply_filters () apply_filters( $tag, $value, $var ... ); ฉันมีปัญหาในการพันศีรษะ$valueและ$var. ฉันอ่านโคเด็กซ์และดูเหมือนว่า$valueสามารถแก้ไข$varได้ แต่ฉันไม่พบตัวอย่างใด ๆ ดูเหมือนว่าจะใช้เป็นวิธีการส่งตัวแปร ในกรณีใดความแตกต่างระหว่างสิ่งนั้นกับ$varอะไร
19 filters  hooks  actions 

2
หากแฮกเกอร์เปลี่ยน blog_charset เป็น UTF-7 นั่นทำให้ WordPress เสี่ยงต่อการถูกโจมตีเพิ่มเติมหรือไม่
ฉันมีลูกค้าที่ถูกแฮ็กเมื่อไม่นานมานี้และสังเกตว่ามีตัวละครแปลก ๆ ปรากฏบนไซต์ของเธอเช่นÂและÆ ปรากฎว่าแฮกเกอร์เปลี่ยน blog_charset เป็น UTF-7 ในwp_optionsตารางในฐานข้อมูล ฉันตั้งค่ากลับเป็น UTF-8 แต่ฉันสงสัยว่าในช่วงเวลานั้นถูกตั้งค่าเป็น UTF-7 จะสามารถสร้างจุดอ่อนด้านความปลอดภัยได้หรือไม่ ฉันได้บางค้นหาและพบว่ามีการใช้เป็นช่องโหว่ WordPress UTF-7 ที่ได้รับการแก้ไขในเวอร์ชัน 2.0.6 เรากำลังใช้งานเวิร์ดเพรสรุ่นล่าสุดดังนั้นพวกเขาจึงไม่สามารถใช้การโกงนั้นได้ แต่มีการหาประโยชน์อื่นที่เกี่ยวข้องกับ UTF-7 หรือไม่? จริงๆแล้วมีเหตุผลอะไรที่แฮ็คเกอร์จะเปลี่ยน blog_charset นอกเหนือไปจากความเจ็บปวดหรือไม่? ฉันพยายามระบุว่าพวกเขาเข้ามาได้อย่างไรและฉันสงสัยว่าสิ่งนี้จะเชื่อมโยงกันอย่างไร

1
การใช้ Rewrite API เพื่อสร้าง URL สงบ
ฉันพยายามสร้างกฎการเขียนซ้ำสำหรับ RESTful API ฉันแค่อยากจะดูว่ามีวิธีที่ดีกว่าที่จะทำให้งานนี้ดีกว่าที่จะต้องเขียนชุดการเขียนซ้ำที่เป็นไปได้ทั้งหมดหรือไม่ ตกลงดังนั้นฉันมีตัวแปรคิวรี่ 4 รายการเพื่อใช้ใน URL ตัวบ่งชี้ ประเทศ คำตอบ สำรวจ URL พื้นฐานจะเป็น www.example.com/some-page/ คำสั่งของตัวแปรทั้ง 4 ตัวนั้นจะสอดคล้องกัน แต่ตัวแปรคิวรีบางตัวเป็นตัวเลือก ดังนั้นฉันจะได้ ... /indicator/{indicator value}/country/{country value}/response/{response value}/survey/{survey value}/ หรือ ... (ไม่ตอบ / /) /indicator/{indicator value}/country/{country value}/survey/{survey value}/ หรือ... /indicator/{indicator value}/country/{country value}/ มีวิธีที่ดีกว่าในการทำสิ่งนี้มากกว่าการกรองrewrite_rules_arrayและเพิ่มอาร์เรย์ของกฎการเขียนใหม่ของฉันที่สร้างขึ้นด้วยตนเองหรือไม่? จะadd_rewrite_endpoint()rewrite_endpoint หรือadd_rewrite_tag()มีประโยชน์กับฉันไหม

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

5
“ ข้อผิดพลาด: ไม่พบหน้าตัวเลือก” ในการส่งหน้าการตั้งค่าสำหรับปลั๊กอิน OOP
ฉันกำลังพัฒนาปลั๊กอินโดยใช้ที่เก็บข้อมูลBoilerplate ของ Tom McFarlinเป็นแม่แบบซึ่งใช้วิธีปฏิบัติของ OOP ฉันพยายามหาสาเหตุที่แน่ชัดว่าทำไมฉันจึงไม่สามารถส่งการตั้งค่าของฉันได้อย่างถูกต้อง ฉันได้ลองตั้งค่าแอ็ตทริบิวต์การกระทำเป็นสตริงว่างตามที่แนะนำในคำถามอื่นรอบ ๆ ที่นี่ แต่นั่นไม่ได้ช่วย ... ด้านล่างเป็นการตั้งค่ารหัสทั่วไปที่ฉันใช้ ... แบบฟอร์ม (/views/admin.php): <div class="wrap"> <h2><?php echo esc_html( get_admin_page_title() ); ?></h2> <form action="options.php" method="post"> <?php settings_fields( $this->plugin_slug ); do_settings_sections( $this->plugin_slug ); submit_button( 'Save Settings' ); ?> </form> </div> สำหรับรหัสต่อไปนี้ให้ถือว่าการเรียกกลับทั้งหมดสำหรับ add_settings_field () และ add_settings_section () มีอยู่ยกเว้น 'option_list_selection' คลาสผู้ดูแลระบบปลั๊กอิน (/ …

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

2
การรวม WordPress MultiSite Active Directory และความเป็นส่วนตัวของไซต์
นี่คือภาพรวมของการตั้งค่า: ฉันมีการติดตั้ง WordPress 3.4.2 หลายไซต์ ฉันได้ติดตั้งปลั๊กอินการรวมการรับรองความถูกต้องของActive Directoryเพื่ออนุญาตให้ผู้ใช้ใช้ข้อมูลรับรองโฆษณาของพวกเขา นอกจากนี้ยังอนุญาตการกำหนดกลุ่มโฆษณาให้กับแต่ละไซต์เพื่อให้ผู้ดูแลเว็บไซต์ไม่ต้องกำหนดสิทธิ์ด้วยตนเอง ฉันได้ติดตั้งปลั๊กอินPrivacy Networkแล้วดังนั้นบางเว็บไซต์จะต้องเข้าสู่ระบบก่อนที่คุณจะสามารถเห็นเนื้อหาใด ๆ ผู้ใช้ที่ไม่ระบุชื่อเห็นหน้าเข้าสู่ระบบเท่านั้น การตั้งค่านี้ใช้งานได้หลายประการ ฉันกำลังประสบปัญหาหนึ่งซึ่งทำให้ฉันไม่สามารถเปิดใช้งานการติดตั้ง WordPress เว็บไซต์หลักของเราได้: Bob เป็นสมาชิกของกลุ่ม "IT Support" ใน AD Bob ยังเป็นสมาชิกของกลุ่ม "Domain Users" ใน AD เว็บไซต์หลัก (www.mysite.com) ถูกล็อคเพื่ออนุญาตให้Domain Usersสมาชิกเข้าสู่ระบบ "" เท่านั้น ไซต์ย่อย (www.mysite.com/itsupport) ถูกล็อคลงเพื่ออนุญาตให้IT Supportสมาชิก "" เข้าสู่ระบบเท่านั้น Bob เยี่ยมชม www.mysite.com และได้รับแจ้งให้ตรวจสอบสิทธิ์ เขาป้อนข้อมูลรับรองโฆษณาของเขาและอนุญาตให้เข้าเว็บไซต์ ตอนนี้เขาเข้าสู่ระบบใน www.mysite.com แล้ว Bob คลิกที่ลิงค์เพื่อไปที่ …

6
Wordpress Plugins จำเป็นหรือไม่
ฉันใหม่กับ WordPress ฉันเพิ่งอ่านบทความเกี่ยวกับวิธีแฮกเกอร์สามารถใช้ประโยชน์จากช่องโหว่ในปลั๊กอิน แหล่งที่มาที่หลากหลายเช่น Google Pagespeed ก็ทำให้ฉันไม่สามารถใช้ปลั๊กอินหรืออย่างน้อยก็ทำให้มันน้อยที่สุด โดยส่วนตัวแล้วฉันก็พยายามหลีกเลี่ยงปลั๊กอินเพราะฉันรู้สึกควบคุมสิ่งที่เกิดขึ้นบนเว็บไซต์ของฉันได้มากกว่าและการดาวน์โหลดอันหนึ่งเกือบจะรู้สึกเหมือน 'ยอดเยี่ยมอีกสิ่งหนึ่งที่ฉันต้องเรียนรู้วิธีใช้' ฉันเข้าใจว่า 'ปลั๊กอินแนะนำ' เป็นหัวข้อนอก แต่สิ่งที่ฉันตามมาคือคำอธิบายว่าทำไม / ถ้าปลั๊กอินบางตัวมีความจำเป็นใน WordPress ยกตัวอย่างเช่น ความปลอดภัย - ปลั๊กอินอันดับต้น ๆ เกี่ยวกับความปลอดภัย แต่เว็บไซต์ WordPress มีความเสี่ยงโดยทั่วไป? เหตุใดฉันจึงต้องมีปลั๊กอินเพิ่มเติมเพื่อหลีกเลี่ยงการใช้ประโยชน์ สำรองข้อมูล - ฉันยังใหม่กับโลกบล็อก แต่ไม่มีโฮสต์ส่วนใหญ่ที่ให้บริการสำรองข้อมูลใช่หรือไม่ หรือฉันต้องการปลั๊กอินพิเศษสำหรับ WordPress ด้วย? การติดตามการฉ้อโกงการคลิกของ AdSense - ควรปิดกั้นการคลิกเพื่อหลีกเลี่ยงการขับไล่จาก Google แต่ฉันไม่เข้าใจว่ามีการคลิกปลอมไม่กี่คนที่ทุกคนต้องทำเพื่อปิดรายได้ของคุณเว้นแต่คุณจะดาวน์โหลดปลั๊กอิน? แก้ไข: อาจจะดีกว่าถ้าถามสิ่งนี้ในฝ่ายสนับสนุนของ Google ไม่ต้องสนใจถ้าเป็นเช่นนั้น
19 plugins  security 

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