WordPress

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

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

2
การเพิ่มแอททริบิวของเพจ Metabox และเทมเพลทของเพจให้กับหน้าแก้ไขโพสต์?
( ผู้ดูแลหมายเหตุ:ชื่อเดิมคือ "ฉันจะเพิ่ม" คุณสมบัติของหน้า "และ / หรือ" เลือกคุณสมบัติของหน้า> แม่แบบ "เพื่อแก้ไข POSTS") ปัจจุบัน WP อนุญาตเฉพาะการกำหนด "เทมเพลต" ให้กับหน้า (เช่นpost_type=='page') ฉันต้องการขยายฟังก์ชันการทำงานนี้ไปยังโพสต์ด้วย (เช่นpost_type=='post') ฉันจะเพิ่มกล่องเมตา"แอททริบิวของเพจ"และตัวสลับเทมเพลตลงในเครื่องมือแก้ไขบทความได้อย่างไร ฉันสมมติว่านี่คือรหัสที่ฉันจะใส่ลงในfunctions.phpธีมของฉัน อัปเดต: ฉันจัดการเพื่อเพิ่มเมนูแบบเลื่อนลงของแม่แบบฮาร์ดโค้ดลงในเครื่องมือแก้ไขบทความของฉันโดยเพียงเพิ่มกล่อง html ที่เลือกลงในกล่องตัวเลือกเมตาที่กำหนดเองที่มีอยู่ของฉัน นี่คือรหัสที่ฉันใช้สำหรับสิ่งนั้น ... add_meta_box('categorydiv2', __('Post Options'), 'post_categories_meta_box_modified', 'post', 'side', 'high'); และนี่คือฟังก์ชันที่เขียนตัวเลือกและกล่องเลือกเทมเพลต ... //adds the custom categories box function post_categories_meta_box_modified() { global $post; if( get_post_meta($post->ID, '_noindex', true) …

12
คุกกี้ในหลายไซต์ที่ไซต์เครือข่ายมีชื่อโดเมนของตนเอง
ฉันตัดสินใจที่จะรวมเว็บไซต์ Wordpress แบบสแตนด์อโลนหลายแห่งไว้ในการติดตั้งเว็บไซต์หลายไซต์ ฉันสร้างการติดตั้งหลายไซต์ใหม่พร้อมไดเรกทอรีย่อยสร้างไซต์เครือข่าย MU ด้วย URL ไดเรกทอรีย่อยและส่งออกเนื้อหาจากไซต์สแตนด์อโลนดั้งเดิมจากนั้นนำเข้าเนื้อหานั้นไปยังไซต์ย่อยไดเรกทอรีย่อย จากนั้นฉันจะลบเว็บไซต์แบบสแตนด์อโลนดั้งเดิมออกจาก cPanel และตั้งชื่อโดเมนของเว็บไซต์ MU เป็นชื่อโดเมนดั้งเดิม ไซต์โหลดชื่อโดเมนดั้งเดิม แต่เมื่อฉันพยายามลงชื่อเข้าใช้ domainname.com/wp-admin (ใช้ข้อมูลประจำตัวผู้ใช้สำหรับผู้ดูแลระบบเครือข่ายของ multisite ใหม่) ฉันได้รับข้อผิดพลาด: ข้อผิดพลาด: เบราว์เซอร์ของคุณถูกบล็อกหรือไม่รองรับ คุณต้องเปิดใช้งานคุกกี้เพื่อใช้ WordPress คุกกี้จะเปิดใช้งานใน Chrome ฉันพยายามเพิ่มสิ่งต่อไปนี้ในwp-config.php: define('COOKIE_DOMAIN', false); แต่ปัญหายังคงอยู่ ปัญหาเดียวกันนี้เกิดขึ้นหากฉันใช้ WP Migrate DB Pro เพื่อดึงเว็บไซต์แบบสแตนด์อโลนลงในไซต์ย่อย MU จากนั้นลบเว็บไซต์แบบสแตนด์อโลนออกจาก cPanel จากนั้นตั้งค่า URL ของไซต์ไดเรกทอรีย่อย MU เป็นชื่อโดเมนของเว็บไซต์แบบสแตนด์อโลนดั้งเดิม ส่วนหน้าของเว็บไซต์โหลดได้ดีฉันไม่สามารถลงชื่อเข้าใช้ผู้ดูแลระบบได้ ช่วยชื่นชม
14 multisite 

3
วิธีจัดคิว JavaScript ในปลั๊กอิน
ฉันดิ้นรนมากเวลานี้ทำงานรวมถึงไฟล์ JavaScript ในโฟลเดอร์ปลั๊กอิน ฉันกำลังพยายามสร้างปลั๊กอินโดยถ่ายโอนไฟล์วิดเจ็ตจากไดเรกทอรีธีม ฉันคัดลอกไฟล์วิดเจ็ต แต่ไฟล์วิดเจ็ตนั้นขึ้นอยู่กับไฟล์ JavaScript ดังนั้นฉันจึงสร้าง a / js / โฟลเดอร์ในไดเรกทอรีปลั๊กอิน ที่ซึ่งไฟล์นี้โฮสต์อยู่ "jquery.repeatable.js" ฉันใช้รหัสนี้ แต่ดูเหมือนจะไม่รวมไฟล์ js - function Zumper_widget_enqueue_script() { wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js' ); } add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script'); ฉันค้นหาสิ่งนี้ในฟอรัม - /programming/31489615/call-a-js-file-from-a-plugin-directory แต่ก็ยังไม่เป็นประโยชน์ ฉันสรุปคำถามของฉันอีกครั้ง ในไดเรกทอรีปลั๊กอินของฉันมีไฟล์ js อยู่ภายใต้โฟลเดอร์นี้ - / js / ฉันต้องการรวมไว้ในกระบวนการที่ถูกต้องฉันต้องลงทะเบียนอะไรด้วยหรือไม่ มีบางอย่างผิดปกติกับส่วนนี้'admin_enqueue_scripts'หรือไม่?

6
รับเมนูการนำทาง WP จาก REST API V2
ฉันพยายามรับเมนูการนำทางจากการตอบกลับ JSON โดยใช้ปลั๊กอินWP REST API v2 ไม่มีส่วนขยายปลั๊กอินเมนูนำทางสำหรับ REST API v2แต่สำหรับ V1 เท่านั้น จากประเภทโพสต์ WordPress ของ codex ฉันได้เรียนรู้ว่าเมนูนำทางนั้นถือว่าเป็นประเภทโพสต์ จากRest API Docนี่คือวิธีที่เราได้รับโพสต์ประเภท: GET http://demo.wp-api.org/wp-json/wp/v2/types/<type> ฉันพยายามทำให้เป็นเช่นนั้น: URL : http://localhost/wptest/wp-json/wp/v2/types/nav_menu_item ฉันได้รับข้อผิดพลาด 403 {"code":"rest_cannot_read_type","message":"Cannot view type.","data":{"status":403}} เซิร์ฟเวอร์เข้าใจคำขอของฉัน แต่ปฏิเสธที่จะให้ข้อมูล ถาม: ฉันจะแก้ไขได้อย่างไร

3
เปิดใช้งานการอัพเกรดฐานข้อมูล 4.2 utf8mb4 อีกครั้ง
ฉันปรับปรุง WP 4.2 ในขณะที่มันอยู่บนเซิร์ฟเวอร์เก่าที่ไม่ตรงกับความต้องการอัพเกรด utf8mb4 ผมย้ายไปยังเซิร์ฟเวอร์อื่นที่เหมาะสมกับความต้องการเหล่านี้ แต่ WP จะไม่เปิดฐานข้อมูลนี้อัพเกรดอีกต่อไป: Your WordPress database is already up-to-dateเข้าไปที่กล่าวว่า ฉันพยายามตั้งค่าwp_postตารางของฉันเป็น utf8mb4 ด้วยตนเอง แต่ตัวอักษรพิเศษทั้งหมดของฉันกลายเป็น“ ” วิธีใดที่จะบังคับให้เปิดใช้งานmaybe_convert_table_to_utf8mb4การอัพเกรดอย่างง่ายโดยไม่สูญเสียตัวอักษรพิเศษทั้งหมดของฉัน ขอบคุณ!
14 database 

1
การตรวจสอบ nonce ทำงานอย่างไร
ฉันเห็นว่า wp_nonce_field สร้างค่าในเขตข้อมูลที่ซ่อนอยู่ <input type="hidden" id="message-send" name="message-send" value="cabfd9e42d" /> แต่ wp_verify_nonce ไม่ได้ใช้ค่านั้นเท่าที่ฉันสามารถบอกได้ แต่ฉันอาจจะผิด ดูเหมือนว่าจะใช้โทเค็นเซสชันสำหรับการตรวจสอบ $expected = substr( wp_hash( $i . '|' . $action . '|' . $uid . '|' . $token, 'nonce'), -12, 10 ); if ( hash_equals( $expected, $nonce ) ) { return 1; } ถ้าเช่นนั้นจุดที่มีแอตทริบิวต์ค่าในเขตข้อมูลที่ซ่อนคืออะไร

2
จะอนุญาตให้บทบาทผู้ใช้สร้างผู้ใช้ใหม่ภายใต้บทบาทที่ต่ำกว่าระดับของเขาเท่านั้นได้อย่างไร
ฉันมีสามบทบาทพิเศษในเว็บไซต์ของฉัน คุณหมอ พนักงานต้อนรับ แขก บทบาทเหล่านั้นจะถูกเพิ่มโดยรหัสต่อไปนี้: * adding Doctor role */ $doctor_role = add_role('Doctor', __('Doctor'), array('read'=>'true')); /* adding Receptionist role */ $receptionist_role = add_role('Receptionist', __('Receptionist'), array('read'=>'true')); /* adding Guest role */ $guest_role = add_role('Guest', __('Guest'), array('read'=>'true')); โดยค่าเริ่มต้นAdministratorบทบาทสร้างบทบาทอื่น ๆ ทั้งหมด แต่ฉันต้องการ จำกัด บทบาทการมอบหมายนี้ตามระดับผู้ใช้ ที่ฉันหมายถึงคือ: ผู้ดูแลระบบ - ควรจะสามารถสร้างผู้ใช้ทุกคนได้โดยค่าเริ่มต้น หมอ - ควรจะสามารถสร้างReceptionistและกำหนดGuestบทบาทผู้ใช้ได้เท่านั้น Receptionist - …

4
ใช้ไฟล์เทมเพลตสำหรับ URL เฉพาะโดยไม่ต้องสร้างหน้า
ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะใช้ไฟล์เทมเพลตสำหรับ URL เฉพาะโดยไม่ต้องสร้างหน้าสำหรับเทมเพลตนั้น นี่คือปัญหาที่เรียบง่ายของฉัน: ผมได้สร้างเพจใน WP มีเนื้อหาเชื่อมโยงบางอย่างที่ชี้ไปที่ URL ที่เฉพาะเจาะจงกับบางข้อมูลในแบบฟอร์มต่อท้าย: (mysite.com/retail/?a=test&b=1234) ฉันต้องการให้ url (ขายปลีก) ใช้แม่แบบไฟล์ template-retail.php อัตโนมัติที่ฉันมีในไดเรกทอรีธีมลูกโดยไม่ต้องสร้างหน้าชื่อ "ปลีก" & เลือกหน้าเทมเพลตจากที่นั่น มีเนื้อหาภายนอกเฉพาะในไฟล์ template-retail.php ไม่มีอะไรใน Wordpress นั้น เป็นไปได้ไหม

3
วิธีการตั้งค่าความสัมพันธ์ระหว่างแม่กับลูกระหว่างประเภทโพสต์ที่กำหนดเอง differents
ฉันเพิ่งตั้งค่าความสัมพันธ์ระหว่างโพสต์ / ผู้ปกครองระหว่างประเภทโพสต์ "ตอน" และโพสต์ "การ์ตูนซีรีส์" ฉันใช้โค้ดนี้เพื่อเพิ่มในกล่องเมตาเพื่อกำหนดพาเรนต์จากประเภทโพสต์อื่น: add_action('admin_menu', function() { remove_meta_box('pageparentdiv', 'episodes', 'normal'); }); add_action('add_meta_boxes', function() { add_meta_box('episodes-parent', 'Cartoon Series', 'episodes_attributes_meta_box', 'episodes', 'side', 'default'); }); function episodes_attributes_meta_box($post) { $post_type_object = get_post_type_object($post->post_type); if ( $post_type_object->hierarchical ) { $pages = wp_dropdown_pages(array('post_type' => 'cartoon-series', 'selected' => $post->post_parent, 'name' => 'parent_id', 'show_option_none' => __('(no …

2
วิธีการจัดเตรียมทางเลือกในท้องถิ่นสำหรับ Font Awesome หาก CDN ล้มเหลว
ฉันกำลังพยายามพัฒนาธีม Wordpress และหาวิธีให้ทางเลือกในท้องถิ่นสำหรับ Font Awesome หาก CDN ล้มเหลวหรือฉันพัฒนาธีมของฉันบนเซิร์ฟเวอร์ภายในโดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต วิธีแก้ปัญหาที่ฉันมีอยู่ในใจคืออะไรแบบนี้ (รหัสหลอก): if ( $CDN_IS_AVAILABLE ) { wp_enqueue_style( 'font-awesome', '//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css', false ); } else { wp_enqueue_style('font-awesome', get_template_directory_uri() . '/css/font-awesome/css/font-awesome.min.css', false, '4.0.3' ); } ขอบคุณ!
14 cdn 

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

4
แสดงชื่อ Yoast WordPress SEO ในเทมเพลตเก็บถาวร
ปลั๊กอิน WordPress SEO ของ Yoast ช่วยให้ผู้ใช้สามารถเพิ่มชื่อเรื่อง SEO และคำอธิบายเมตาไปยังหน้าจัดเก็บคำศัพท์แบบอนุกรมวิธาน สิ่งเหล่านี้จะถูกใช้ในส่วนหัวของเอกสาร ฉันกำลังพยายามแสดงชื่อ SEO ของคำศัพท์อนุกรมวิธานเป็น H1 ในเทมเพลตการจัดเก็บภาษีอนุกรมวิธานของฉัน หากต้องการทำสิ่งนี้ในโพสต์โพสต์ประเภทหรือหน้าเป็นเรื่องง่าย: echo get_post_meta($post->ID, '_yoast_wpseo_title', true); ในแม่แบบเก็บถาวรนี้ไม่ทำงาน ไม่มีใครรู้วิธีการทำงานนี้หรือไม่ ตัวอย่างภาพหน้าจอ นี่คือชื่อของคำแท็กเฉพาะ ฉันกำลังพยายามแสดงชื่อนี้ - แต่สำหรับเทอมอนุกรมวิธานที่กำหนดเอง - ในเทมเพลตเก็บถาวรของฉัน รหัสสุดท้าย นี่คือสิ่งที่ฉันใช้ในarchive.phpเทมเพลต มันทำงานได้ถ้าคุณกำลังใช้อนุกรมวิธานที่กำหนดเอง สำหรับแท็กหรือหมวดหมู่ให้ดูที่คำตอบของ Mike Madern ด้านล่าง <h1 class="archive-title"> <?php if ( is_tax() ) : $taxonomy = get_queried_object()->taxonomy; $term_id = get_queried_object()->term_id; $meta …

1
วิธีใช้อีเมลเดียวกันสำหรับผู้ใช้หลายคน
ฉันมีไซต์ที่มีขนาดใหญ่มาก และฉันได้รับคำขอให้เปิดใช้งานตัวเลือกที่ผู้ใช้หลายคนสามารถใช้อีเมลเดียวกันได้ ฉันพบปลั๊กอิน "อนุญาตหลายบัญชี" ซึ่งทำงานไม่ถูกต้อง ฉันควรหาวิธีแก้ปัญหาอื่นสำหรับเรื่องนั้น ฉันรู้ว่าฉันสามารถใช้บางอย่างเช่นการเพิ่ม + บางครั้งในอีเมลทุกฉบับดังนั้นมันจึงแสดงให้เห็นถึงความแตกต่างของ Wordpress คุณมีวิธีแก้ปัญหาอื่นที่สามารถทำได้ที่นี่หรือไม่?
14 multisite  users 

3
หลายค่า orderby ใน WP_Query
ฉันพยายามหาคำสั่งเพื่อจัดเรียงตามค่า orderby หลายค่า นี่คือสิ่งที่ฉันมี: $dept_id=2; $query=new WP_Query(array( 'post_type'=>'wpcontactus', 'nopaging'=>true, 'post_status'=>array('publish', 'pending', 'future'), 'meta_key'=>'wcu_dept', 'meta_value'=>$dept_id, 'orderby'=>'title', 'order'=>'ASC' )); ฉันพยายามสอบถามประเภทโพสต์ที่กำหนดเองและภายในประเภทโพสต์นั้นให้ค้นหาค่าเมตา จากนั้นฉันต้องการเรียงลำดับโดยmenu_orderน้อยไปหามากแล้วตามด้วยเมตาดาต้าที่กำหนดเองwcu_lastnameจากน้อยไปมาก อย่างไรก็ตามค่า orderby ดูเหมือนจะไม่สามารถใช้อาร์เรย์ได้ ฉันจะสั่งซื้อแบบสอบถามโดยใช้ค่า orderby หลายค่าได้อย่างไร

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