WordPress

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

3
ฉันจะนับจากโพสต์แบบสอบถามได้อย่างไร
ฉันจะรับจำนวนแถวในโพสต์ข้อความค้นหาเช่น mysql count (*) ได้อย่างไร $obj_name = new WP_Query($args); while ($obj_name->have_posts()) : $obj_name->the_post(); // here i want to predict looping counts endwhile; ฉันจะทำสิ่งนี้ได้อย่างไร

5
วิธีที่เหมาะสมในการปรับเปลี่ยนปลั๊กอิน
วิธีที่ดีที่สุดในการแก้ไขปลั๊กอินคืออะไร? ฉันมักต้องการเปลี่ยนแปลงเล็กน้อยในฟังก์ชันหนึ่งหรือสองฟังก์ชั่นภายในปลั๊กอินขนาดใหญ่ สามารถทำได้อย่างง่ายดาย แต่ฉันต้องใช้ความคิดเห็นเพื่อทำเครื่องหมายการเปลี่ยนแปลงของฉันและแก้ไขปลั๊กอินอีกครั้งหลังจากการอัปเดต ฉันควรปล่อยปลั๊กอินไว้ตามลำพังและทำการเปลี่ยนแปลงที่อื่นเหมือนที่เราทำกับธีมและธีมลูก ฉันสามารถสร้างปลั๊กอินที่ต้องการปลั๊กอินหลักและจะแทนที่ได้หรือไม่

3
วิธีเพิ่มฟิลด์สำหรับตัวเลือกทั่วไซต์ใหม่บนหน้าจอการตั้งค่าเครือข่าย
ฉันกำลังทำงานกับปลั๊กอินและส่วนหนึ่งของมันเกี่ยวข้องกับการตั้งค่าตัวเลือกที่ใช้กับไซต์ทั้งหมดในเครือข่าย WordPress ฉันรู้เกี่ยวกับadd_site_optionและget_site_optionฟังก์ชั่นที่ช่วยให้คุณประหยัดค่าลงในตาราง wp_sitemeta แต่สิ่งที่ฉันไม่สามารถคิดออกเป็นวิธีการที่จะวางเขตข้อมูลในสถานที่ที่เหมาะสมในการแบ็กเอนด์ WordPress และวิธีการที่จะสกัดกั้นการประหยัดจากทั่วทั้งไซต์ ค่าเพื่อแทรกการเรียก add_site_option เมื่อเกิดขึ้น สำหรับปัญหาแรก (เพิ่มเขตข้อมูล) ปกติแล้วฉันจะใช้การตั้งค่า API โดยเฉพาะregister_settingและadd_settings_fieldเพื่อกำหนดรายการใหม่ให้เป็นรายการที่ปลอดภัยแล้วแทรกเขตข้อมูลลงในหน้าตัวเลือกที่เหมาะสม แต่ฉันไม่สามารถหาข้อมูลได้ทุกที่ในว่าคุณสามารถใช้ add_settings_field เพื่อเพิ่มฟิลด์ไปยังหน้าการตั้งค่าในส่วนผู้ดูแลเครือข่ายใหม่ของแบ็กเอนด์หากมีฟังก์ชั่นทางเลือกที่ทำหน้าที่เป็นหน้าที่ของผู้ดูแลระบบเครือข่ายหรือ เพียงแค่ต้องฉีด HTML ด้วยตนเอง (คุณสามารถทำได้ด้วยตนเองโดยการเขียนฟังก์ชั่นที่สะท้อนฟิลด์แล้วเชื่อมต่อฟังก์ชั่นนั้นเข้ากับการกระทำ "wpmu_options" ซึ่งได้รับการเรียกใช้ที่ส่วนท้ายของหน้าการตั้งค่าใน Network Admin แต่คุณต้องจัดการกับข้อมูลที่ไม่ใช่ และทุกอย่างอื่นด้วยตนเอง) ปัญหาที่สองอาจเกี่ยวข้องกับการค้นหาการกระทำที่ทำงานเมื่อผู้ใช้กด "บันทึก" ในหน้าการตั้งค่าผู้ดูแลเครือข่าย แต่ฉันยังไม่พบสิ่งนั้น โอกาสในการขายใด ๆ จะได้รับการชื่นชมอย่างมาก ดังนั้น - ความคิด? มีวิธีหรูหราในการอนุญาตการจัดการตัวเลือกไซต์สำหรับปลั๊กอินผ่านพื้นที่ผู้ดูแลระบบเครือข่ายใหม่หรือไม่? ถ้าเป็นเช่นนั้นมันเป็นอย่างไรบ้าง?


3
วิธีจับ / สิ่งที่ต้องทำกับ WP Error Object
ฉันกำลังเรียกใช้ฟังก์ชัน WP บางอย่างภายในปลั๊กอินโดยตรงรวมถึง wp_insert_post () หากมีสิ่งผิดปกติสิ่งนี้จะส่งกลับวัตถุ WP Error สิ่งที่เป็นวิธีที่ถูกต้องในการตรวจจับข้อผิดพลาดนี้คืออะไร ไม่ว่าจะใช้ฟังก์ชั่น WP หรือข้อยกเว้น PHP หรืออะไรก็ตาม
15 plugins  errors 

4
เปลี่ยนอีเมลแจ้งเตือนจาก WordPress <wordpress> @ mydomain.net เป็นอย่างอื่น
ฉันจะเปลี่ยนที่อยู่อีเมลแจ้งเตือนจาก WordPress @ mydomain.net เป็นอย่างอื่นได้อย่างไร ฉันต้องการทำเช่นนี้เพราะ WordPress @ mydomain.net ท้ายที่สุดถูกตั้งค่าสถานะเป็นอีเมลขยะ ขอบคุณ แดเนียล
15 email 

2
ฟังก์ชั่นเครื่องมือที่กำหนดเองในปลั๊กอินไม่ทำงาน?
ฉันเอารหัสออกจากหนึ่งในชุดรูปแบบของฉันที่ฉันสร้างขึ้นและเป็นรายการของทั้ง 50 รัฐในรายการที่ไม่มีการเรียงลำดับที่บรรจุในวิดเจ็ตที่คุณสามารถลากและวางบนแถบข้างได้ ปัญหาคือเมื่อฉันลองใช้รหัสนี้ในไฟล์ PLUGIN ฉันได้รับข้อผิดพลาดต่อไปนี้: Fatal error: Call to a member function register() on a non-object in C:\xampp\htdocs\wordpress\wp-includes\widgets.php on line 431 ทำไมมันถึงทำงานในธีม แต่ไม่ใช่ในปลั๊กอิน? ยังไงก็ตามธีมที่ใช้งานไม่ได้เป็นธีมที่ฉันเอารหัสออกมา นี่คือรหัสของฉัน: http://pastebin.com/ZeRWW3yb ขอบคุณ

4
ลบความสามารถสำหรับผู้ใช้รายอื่นเพื่อดูผู้ดูแลระบบในรายการผู้ใช้หรือไม่
( หมายเหตุของผู้ดำเนินรายการ:ชื่อดั้งเดิมคือ "ลบผู้ดูแลออกจากเมนูผู้ใช้") ฉันได้สร้างบทบาทผู้ดูแลระบบไคลเอนต์ซึ่งเป็นเครื่องมือแก้ไขที่มีความสามารถในการเพิ่ม / ลบผู้ใช้ บทความ" Editor สามารถสร้างผู้ใช้ใหม่ยกเว้นผู้ดูแลระบบ "เป็นเลิศในการช่วยให้บทบาทผู้ดูแลระบบไคลเอนต์ใหม่ของฉันไม่สามารถแก้ไขหรือสร้างผู้ใช้ True admin อย่างไรก็ตามสิ่งที่เหมาะสมที่สุดคือการซ่อนผู้ดูแลระบบจากผู้ดูแลระบบของลูกค้าเมื่อพวกเขาดูผู้ใช้ ฉันต้องการให้พวกเขา"เชื่อ"ว่าพวกเขาเป็นผู้ดูแลเว็บไซต์ของพวกเขา แต่ฉันไม่ต้องการให้พวกเขาสามารถดูบทบาท / ผู้ใช้ของฉันได้โดยการซ่อนบทบาท"ผู้ดูแลระบบ"จากพวกเขาเมื่อพวกเขาอยู่ใน"ผู้ใช้"แผงหน้าปัด.

4
การลงทะเบียนผู้ใช้ตามด้วยการล็อกอินอัตโนมัติ
ฉันใช้ปลั๊กอินที่ถูกดัดแปลงเพื่อจุดประสงค์ของฉัน สิ่งที่ฉันเป็นหลังจากนั้นคือหลังจากที่ผู้ใช้ลงทะเบียนเพื่อให้พวกเขาเข้าสู่ระบบโดยอัตโนมัติและกลับไปที่หน้าปัจจุบัน ในขณะนี้จะส่งอีเมลพร้อมชื่อผู้ใช้และรหัสผ่านของพวกเขา พวกเขาจะต้องเข้าสู่ระบบโดยใช้รายละเอียดเหล่านั้น
15 php  login  registered 

2
ส่งผ่าน object / JSON ไปที่ wp_localize_script
ฉันมีจาวาสคริปต์ที่มีวัตถุตามตัวอักษร แต่ฉันต้อง จำกัด มันและฉันพยายามหาวิธีเขียนมันใหม่เพื่อที่ฉันจะได้รับ wp_localize_script () เพื่อรับมันและออกรูปแบบที่ถูกต้อง รุ่นที่ไม่ใช่ภาษาท้องถิ่น (ไม่ใช่ไดนามิก) มีลักษณะดังนี้: var layoyt_config = { 'header' : 1 , 'footer' : 1 , 'ls' : {'sb1':1} , 'rs' : {'sb1':1,'sb2':1} , 'align' : 'center' }; ตอนนี้เพื่อให้มีค่าเหล่านั้นที่สร้างขึ้นโดย php (ขึ้นอยู่กับบาง wp_settings) ฉันต้องการใช้ wp_localize_script ดังนั้นฉันสามารถเอามันจากที่นั่น: var layoyt_config = my_localized_data.layoyt_config; และเพื่อให้ได้ข้อมูลนั้นไปยังคุณสมบัติของวัตถุนั้นฉัน 'คิด' ฉันสามารถทำสิ่งนี้ได้ แต่ไม่ชัดเจน: $data …

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

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

4
อัปเดตฟอร์มวิดเจ็ตหลังการลากและวาง (ข้อผิดพลาดการบันทึก WP)
ฉันโพสต์รายงานข้อผิดพลาดเกี่ยวกับเรื่องนี้เมื่อไม่กี่เดือนที่ผ่านมา ( บน WordPress trac (ข้อผิดพลาดการอัปเดตอินสแตนซ์ของ Widget อินสแตนซ์) ) และฉันคิดว่าฉันจะลองเขียนมันที่นี่ด้วย อาจมีบางคนมีทางออกที่ดีกว่าในเรื่องนี้มากกว่าฉัน โดยทั่วไปปัญหาคือถ้าคุณวางวิดเจ็ตในแถบด้านข้างแบบฟอร์มวิดเจ็ตจะไม่ได้รับการอัปเดตจนกว่าคุณจะกดบันทึกด้วยตนเอง (หรือโหลดหน้าซ้ำ) สิ่งนี้ทำให้ไม่สามารถใช้รหัสทั้งหมดจากform()ฟังก์ชันที่ใช้ ID อินสแตนซ์ของวิดเจ็ตเพื่อทำอะไรบางอย่าง (จนกว่าคุณจะกดปุ่มบันทึก) สิ่งใด ๆ เช่นคำขอ ajax สิ่ง jQuery เช่น colorpickers และอื่น ๆ จะไม่ทำงานทันทีเนื่องจากจากฟังก์ชันนั้นจะปรากฏว่าอินสแตนซ์วิดเจ็ตยังไม่ได้รับการเริ่มต้น การแก้ไขที่สกปรกจะเป็นการเรียกใช้ปุ่มบันทึกโดยอัตโนมัติโดยใช้สิ่งที่ต้องการเช่นlivequery : $("#widgets-right .needfix").livequery(function(){ var widget = $(this).closest('div.widget'); wpWidgets.save(widget, 0, 1, 0); return false; }); และเพิ่ม.needfixคลาสform()หากอินสแตนซ์วิดเจ็ตไม่ได้ดูการเริ่มต้น: &lt;div &lt;?php if(!is_numeric($this-&gt;number)): ?&gt;class="needfix"&lt;?php endif; ?&gt; …

7
วิธีที่ง่ายที่สุดในการสำรองฐานข้อมูล WordPress ของฉันคืออะไร?
ฉันติดตั้ง WordPress บนเซิร์ฟเวอร์สำหรับบล็อกของฉัน ฉันสำรองไฟล์ทั้งหมดจากเซิร์ฟเวอร์ตามกำหนดเวลา แต่นี่เป็นเพียงไฟล์ - ไม่ใช่ฐานข้อมูล เป็นการดีที่ฉันต้องการบันทึกการถ่ายโอนฐานข้อมูลบนเซิร์ฟเวอร์เป็นระยะโดยอัตโนมัติเพื่อให้สามารถสำรองข้อมูลพร้อมกับไฟล์ทั้งหมด วิธีที่ง่ายที่สุดในการทำเช่นนี้คืออะไร?
15 database  backup 

9
การเพิ่มคลาส CSS แรก / สุดท้ายไปยังเมนู
เป็นไปได้หรือไม่หากไม่มี javascript hacks แบบนี้: &lt;ul class="my_menu"&gt; &lt;li class="first"&gt; ... &lt;/li&gt; &lt;li&gt; ... &lt;/li&gt; &lt;li&gt; ... &lt;/li&gt; &lt;li class"with_sub"&gt; ... &lt;ul class="my_menu_sub"&gt; &lt;li class="first"&gt; ... &lt;/li&gt; &lt;li&gt; ... &lt;/li&gt; &lt;li&gt; ... &lt;/li&gt; &lt;li class="last"&gt; ... &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt; ... &lt;/li&gt; &lt;li&gt; ... &lt;/li&gt; &lt;li class="last"&gt; ... &lt;/li&gt; &lt;/ul&gt;
15 php  menus  css 

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