Skip to main content

Code Snippets สำหรับ v2

โดยทั่วไปแล้ว code snippets สำหรับ WordPress ใช้เพื่อทำงานบางอย่างที่อาจต้องใช้ปลั๊กอินขนาดเล็กแยกต่างหาก code snippets เหล่านี้จะวางไว้ในไฟล์หลักของ WordPress หรือไฟล์ธีม (โดยทั่วไปคือไฟล์ functions.php ของธีมที่คุณใช้) หรือสามารถใช้เป็น MU plugin ได้

ในบทความนี้เราจะแสดง code snippets สามตัวที่สามารถใช้กับ Ultimate Multisite v2 :

การเปลี่ยนตำแหน่งของรายการเมนู Account

หากต้องการเปลี่ยนตำแหน่งของรายการเมนู Account บน Dashboard ของลูกค้า เพียงเพิ่ม code snippet ต่อไปนี้ลงใน functions.php ของธีมที่ใช้งานอยู่บนเว็บไซต์หลักของคุณ คุณยังสามารถวาง snippet นี้ไว้ใน mu-plugins หรือปลั๊กอินที่คุณสร้างเองได้

add_filter('wu_my_account_menu_position', function() { return 10; // ปรับค่านี้เพื่อวางเมนูในตำแหน่งที่ต้องการ

วิธีตรวจสอบว่าผู้ใช้อยู่ภายใต้แพลนที่กำหนดและ/หรือมีการสมัครสมาชิกที่ใช้งานอยู่

ในฐานะ network admin คุณอาจต้องสร้างฟังก์ชันที่กำหนดเองเพื่อทำงานพื้นฐานหรือทำให้บริการ/ฟีเจอร์พร้อมใช้งานสำหรับกลุ่มสมาชิกหรือผู้ใช้ปลายทางที่เลือกไว้ โดยอิงจากสถานะการสมัครสมาชิกและแพลนที่พวกเขาสมัครไว้

ฟังก์ชันในตัวของ Ultimate Multisite เหล่านี้จะช่วยคุณได้

หากต้องการตรวจสอบว่าผู้ใช้เป็นสมาชิกของแพลนที่กำหนดหรือไม่ คุณสามารถใช้ฟังก์ชัน:

wu_has_plan($user_id, $plan_id)

หากต้องการตรวจสอบว่าการสมัครสมาชิกยังใช้งานอยู่หรือไม่ คุณสามารถใช้ฟังก์ชัน:

wu_is_active_subscriber($user_id)

ด้านล่างนี้คือตัวอย่าง snippet ที่ตรวจสอบว่าผู้ใช้ปัจจุบันอยู่ภายใต้แพลนที่ระบุ (Plan ID 50) และการสมัครสมาชิกของผู้ใช้ยังใช้งานอยู่หรือไม่

$user_id = get_current_user_id();$plan_id = 50;if (wu_has_plan($user_id, $plan_id) && wu_is_active_subscriber($user_id)) { // ผู้ใช้เป็นสมาชิกของแพลนและการสมัครสมาชิกยังใช้งานอยู่ ทำสิ่งต่างๆ ได้ที่นี่} else { // ผู้ใช้ไม่ได้เป็นสมาชิกของแพลน -- หรือ -- การสมัครสมาชิกไม่ได้ใช้งานอยู่ ทำสิ่งอื่นๆ ได้ที่นี่} // end if;

โปรดทราบว่า wu_has_plan ต้องใช้ "Plan ID" จึงจะทำงานได้

หากต้องการดู ID ของแพลน คุณสามารถไปที่ Ultimate Multisite > Products โดย ID ของแต่ละ product จะแสดงอยู่ทางด้านขวาของตาราง

โปรดทราบว่าผู้ใช้สามารถสมัครได้เฉพาะ Plan เท่านั้น ไม่ใช่ Package หรือ Service เนื่องจากสิ่งเหล่านั้นเป็นเพียงส่วนเสริมของ Plan

รายการ Products แสดง plan IDs

การแก้ไขปัญหา CORS กับ Font-Icons ในโดเมนที่แมปแล้ว

การแก้ไขปัญหา CORS กับ Font-Icons ในโดเมนที่แมปแล้ว

หลังจากแมปโดเมนไปยังเว็บไซต์ย่อย คุณอาจพบว่าเว็บไซต์มีปัญหาในการโหลดฟอนต์ที่กำหนดเอง ซึ่งเกิดจากการบล็อก cross-origin ในการตั้งค่าเซิร์ฟเวอร์ของคุณ

เนื่องจากไฟล์ฟอนต์มักจะถูกโหลดโดยตรงจาก CSS ปลั๊กอิน domain mapping ของเราจึงไม่สามารถเขียน URL ใหม่เพื่อใช้โดเมนที่แมปแทนโดเมนเดิมได้ ดังนั้นเพื่อแก้ไขปัญหานี้ คุณจะต้องแก้ไขไฟล์การตั้งค่าเซิร์ฟเวอร์ของคุณ

ด้านล่างนี้คือ code snippets เพื่อแก้ไขปัญหาสำหรับ Apache และ NGINX การเปลี่ยนแปลงเหล่านี้ต้องใช้ความรู้ขั้นสูงเกี่ยวกับไฟล์การตั้งค่าเซิร์ฟเวอร์ (ไฟล์ .htaccess และไฟล์ config ของ NGINX) หากคุณไม่สะดวกที่จะทำการเปลี่ยนแปลงเหล่านี้ด้วยตัวเอง ให้ส่งหน้านี้ไปยังทีมสนับสนุนของผู้ให้บริการโฮสติ้งเมื่อขอความช่วยเหลือ

Apache

ในไฟล์ .htaccess ของคุณ ให้เพิ่ม:

<FilesMatch ".(ttf|ttc|otf|eot|woff|font.css|css)$"> Header set Access-Control-Allow-Origin "*"

NGINX

ในไฟล์ server config ของคุณ (ตำแหน่งจะแตกต่างกันไปตามแต่ละเซิร์ฟเวอร์) ให้เพิ่ม:

location ~ .(ttf|ttc|otf|eot|woff|font.css|css)$ { add_header Access-Control-Allow-Origin "*";}