ไร้สาระนุกรม:การเขียนโค้ดขั้นสูง
จากไร้สาระนุกรมเสรี - แหล่งรวบรวมเรื่องราวตลกขบขันและบิดเบือนข้อเท็จจริง
ขออภัย! หน้านี้ กำลังอยู่ในระหว่างการอู้
|
สำหรับวิธีการเขียนโค้ดที่เกี่ยวกับแม่แบบโดยเฉพาะ ให้ดูที่ ไร้สาระนุกรม:วิธีการสร้างแม่แบบ
ในไร้สาระนุกรมนั้น สามารถใช้ลูกเล่นในหน้าหรือบทความได้หลากหลายรูปแบบ รวมทั้งโค้ดขั้นสูงด้วย โดยที่โค้ดขั้นสูงจะช่วยให้หน้า หรือแม่แบบเกิดอภินิหารอย่างน่าเหลือเชื่อได้ หน้านี้จะกล่าวถึงวิธีการเขียนโค้ดขั้นสูง และความหมายของแต่ละโค้ด
สารบัญ
|
เริ่มเขียนโค้ดขั้นสูง
สำหรับท่านที่ถอดใจกับโค้ดขั้นสูง เราขอบอกว่ามันไม่ได้ซับซ้อนอะไรเลย โค้ดเหล่านี้สามารถเขียนที่ไหนก็ได้ในทุกหน้าที่ต้องการ ไม่จำเป็นต้องเขียนเฉพาะในแม่แบบ
ในโค้ดขั้นสูงนั้น มีวิธีการเขียนแบบเดียวกับข้อความทั่วไป โดยก่อนที่คุณจะเริ่มเขียนโค้ดขั้นสูง คุณควรจะศึกษาวิธีการเขียนข้อความในไร้สาระนุกรมก่อน ที่ ไร้สาระนุกรม:เริ่มเขียนบทความในไร้สาระนุกรม
เบ็ดเตล็ด
| ต้องการ | คำสั่ง | ผลที่แสดง | หมายเหตุ |
|---|---|---|---|
| เปลี่ยนทาง | #REDIRECT[[ชื่อบทความ]] | โค้ดนี้ต้องใส่ไว้ตอนบนสุดของบทความ ดูข้อมูลเพิ่มเติมที่ ไร้สาระนุกรม:หน้าเปลี่ยนทาง | |
| แสดงชื่อภาษาโดยรหัสภาษาที่คุณระบุ(ภาษาในเครือข่ายไร้สาระนุกรม) | {{#language:th}}{{#language:zh}} th และ zh คือรหัสภาษาที่ระบุ(ภาษาเทยและจีนกลาง ตามลำดับ) | ไทย 汉语 | |
| แสดงภาษาที่เว็บนี้ใช้ | {{CONTENTLANG}}{{#language: {{CONTENTLANG}} }} | th ไทย | |
| แสดงชื่อเว็บ | {{SITENAME}} | ไร้สาระนุกรม | สำหรับเว็บนี้จะแสดง ไร้สาระนุกรม เสมอ |
| แสดงชื่อหน้าพิเศษตามระบบ[1] | {{#special:recentchanges}}recentchanges คือชื่อหน้าพิเศษที่ระบุ | Object id #198 | |
| เรียกใช้แท็ก | {{#tag:tagname}}และ{{#tag:tagname|...}} | ฟังก์ชั่นนี้จะเหมือนการใช้แท็กทั่วไป เช่น {{#tag:tagname}}จะได้<tagname /> | |
| แสดงเวอร์ชันของมีเดียวิกิที่ไร้สาระนุกรมกำลังใช้อยู่ในขณะนี้ | {{CURRENTVERSION}} | 1.17alpha | |
| แสดงตัวแปรระบบของไร้สาระนุกรม ตามที่ระบุ | {{#arg:action|ไม่มีตัวแปรนี้}}
| ไม่มีตัวแปรนี้ |
รูปแบบข้อมูลและการแสดงผล
1 โดยปกติแล้ว สารบัญจะแสดงก็ต่อเมื่อมีหัวเรื่องรอง(หัวเรื่องอันดับสอง) มากกว่า 3 หัวเรื่อง และจะแสดง ถัดจากเนื้อหาในส่วนแรกสุด โดยฟังก์ชั่นทั้งสองจะขัดกับกฏข้างต้น
(ทั้งนี้ก็ขึ้นอยู่กับการตั้งค่าส่วนตัวด้วย)
| ต้องการ | คำสั่ง | ผลที่แสดง | หมายเหตุ |
|---|---|---|---|
| การตั้งค่าหน้า | |||
| ซ่อนสารบัญ1 | __NOTOC__ | สารบัญจะไม่แสดงเลย ถึงแม้จะมีหัวเรื่องรองครบ 3 หัวเรื่องแล้วก็ตาม | |
| แสดงสารบัญโดยแสดงที่ตำแหน่งอื่นๆ1 | __TOC__ | | สารบัญจะแสดงตลอด ตามตำแหน่งที่วางโค้ดนี้ไว้ และไม่จะเป็นต้องมีหัวเรื่องรองครบ 3 อัน |
| แสดงสารบัญโดยแสดงที่ตำแหน่งปกติของมัน1[2] | __FORCETOC__ | สารบัญจะแสดงตลอด ตามตำแหน่งปกติ(ต่อจากส่วนแรกสุดของหน้า) และไม่จะเป็นต้องมีหัวเรื่องรองครบ 3 อัน | |
| ซ่อนลิงก์แก้ไขเฉพาะส่วน | __NOEDITSECTION__ | ไม่มีการแสดงผลอื่นๆ ปรากฏ เช่นเดียวกับการซ่อนสารบัญ | |
| เพิ่มปุ่ม + สำหรับสร้างหัวข้อใหม่ | __NEWSECTIONLINK__ | สามารถดูตัวอย่างที่หน้าพูดคุย โดยจะมีปุ่ม + อยู่ใกล้ๆกับปุ่มแก้ไข | |
| ซ่อนปุ่ม + สำหรับสร้างหัวข้อใหม่ในหน้าพูดคุย | __NONEWSECTIONLINK__ | ใช้ในหน้าพูดคุย ปุ่ม + จะไม่ปรากฏขึ้น | |
| ซ่อนหน้านี้จากการค้นหา | __NOINDEX__ | หน้าที่มีโค้ดนี้อยู่จะไม่ปรากฏในผลการค้นหา | |
| กำหนดคำสำคัญให้กับหน้านี้ | {{DEFAULTSORT:คำสำคัญ}} | มีผลเหมือนกับการกำหนด [[หมวดหมู่:<ชื่อหมวดหมู่>|<คำสำคัญ>]] แต่การกำหนดด้วยคำสั่งนี้จะมีผลต่อทุกๆ หมวดหมู่ โดยที่ไม่ต้องกำหนดซ้ำ
| |
| เปลี่ยนชื่อแสดงผลของหน้านี้ | มีวิธีการใช้งานดังนี้ : {{DISPLAYTITLE:ชื่อหน้าที่ต้องการ}}อย่างเช่น {{DISPLAYTITLE:{{PAGENAME}} (คู่มือ)}} | ชื่อหน้าที่แสดงผลจะเปลี่ยนไปตามที่กำหนด | ไม่ใช่การเปลี่ยนชื่อหน้าจริงๆ แต่เป็นการเปลี่ยนชื่อหน้าเฉพาะในการแสดงผลเท่านั้น |
| เปลี่ยนโลโก้ไร้สาระนุกรมให้กับหน้านี้ | มีวิธีการใช้งานดังนี้ : {{#logotipo: URL ของไฟล์ภาพนั้นๆ}}อย่างเช่น {{#logotipo: http://upload.wikimedia.org/wikipedia/commons/7/70/Example.png}} | | ไม่ใช่การเปลี่ยนโลโก้ของระบบไร้สาระนุกรมจริงๆ แต่เป็นการเปลี่ยนโลโก้เฉพาะในการแสดงผลเท่านั้น |
| กำหนดคำสำคัญเพื่อการจัดอันดับของเซิร์ซเอนจิน | <keywords content="คำสำคัญ" /> | ไม่มีการแสดงผลอื่นๆ" | เซิร์ซเอนจินโดยทั่วไปแล้วจะจัดอันดับจากคำสำคัญที่กำหนด การกำหนดด้วยแท็กนี้ก็จะเป็นการกำหนดคำสำคัญให้เซิร์ซเอนจินทราบ เพื่อการจัดอันดับการค้นหา (ในทางเทคนิก แท็กนี้จะถูกแปลเป็น HTML ในรูป |
| ตั้งค่าหมวดหมู่ | |||
| ซ่อนการแสดงผลหมวดหมู่นี้ในหน้าบทความ | __HIDDENCAT__ | หมวดหมู่ที่มีโค้ดนี้อยู่ จะไม่ปรากฏชื่อที่รายการหมวดหมู่ ในหน้าหรือบทความที่อยู่ในหมวดหมู่นี้ | |
| เปลี่ยนการแสดงผลรายการรูปภาพหรือสื่อในหมวดหมู่ให้กลายเป็นรายการลิงก์แทน | __NOGALLERY__ | ||
| การแปลงข้อความ | |||
| เปลี่ยนเป็นตัวพิมพ์เล็กทั้งหมด ในข้อความภาษาปะกิด3 | {{lc:MESSage}} | message | |
| เปลี่ยนเป็นตัวพิมพ์เล็กที่ตัวอักษรแรก ในข้อความภาษาปะกิด3 | {{lcfirst:MESSAGE}} | mESSAGE | |
| เปลี่ยนเป็นตัวพิมพ์ใหญ่ทั้งหมด ในข้อความภาษาปะกิด3 | {{uc:message}} | MESSAGE | |
| เปลี่ยนเป็นตัวพิมพ์ใหญ่ที่ตัวอักษรตัวแรก ในข้อความภาษาปะกิด3 | {{ucfirst:message}} | Message | |
| จัดกลุ่มหลักตัวเลข | {{formatnum:11111111111111.0000000}} | 11,111,111,111,111.0000000 | |
| ยกเลิกการจัดกลุ่มหลักตัวเลข | {{formatnum:11,111,111,111,111.0000000|R}} | 11111111111111.0000000 | |
| แสดงข้อความตามจำนวน(เอกพจน์และพหูพจน์) | {{plural:2|is|are}} 2 คือจำนวน, is คือคำที่จะแสดงเมื่อจำนวนเท่ากับ 1(เอกพจน์) และ are คือคำที่จะแสดงเมื่อจำนวนมากกว่า 1(พหูพจน์) | are | |
| อื่นๆ | |||
| ยกเลิกการย่อหน้า | <div>ข้อความ</div> | ข้อความ | แสดงผลให้ชัดเจนได้ในบทความปกติ อนึ่ง ข้อความที่ต่อท้ายจาก </div> จะถูกตัดไปอยู่บรรทัดใหม่
|
| แทรกสไตล์ชีต(CSS) ลงในหน้า | <css>โค้ดสไตล์ชีต</css> | จะไม่มีการแสดงผลออกมาเลย | การใช้งานคล้ายกับการแทรกลงในไฟล์(เช่น Common.css) แต่สามารถใช้ได้ในเฉพาะหน้าที่ใส่โค้ดนี้เท่านั้น(จะต่างจากการแทรกลงในมีเดียวิกิ คือ สามารถใช้ได้ในทุกหน้า) |
การทำงานเกี่ยวกับภาพ
ในไร้สาระนุกรมมีฟังก์ชั่น และแท็กสำหรับทำงานเกี่ยวกับรูปภาพอยู่หลายตัว ซึ่งก็สามารถนำมาเลือกใช้ได้ตามความต้องการ ต่อไปนี้จะอธิบายถึงการใช้งานฟังก์ชั่นต่างๆ
- ทำให้ภาพหรือไอคอนมีลิงก์
สามารถทำได้โดยใช้ฟังก์ชั่น {{#icon:}} ซึ่งมีพารามิเตอร์(สิ่งที่ต้องกำหนด)อยู่ 4 ตัว ดังนี้
{{#icon: ชื่อไฟล์ภาพ | คำอธิบายของภาพ | ขนาดภาพ | หน้าที่จะลิงก์ไปถึง }}
- ชื่อไฟล์ภาพ ชื่อไฟล์ของภาพที่อัปโหลดบนไร้สาระนุกรม(ไม่ใช่ไฟล์จากเว็บอื่น) ไม่ต้องมีกลุ่มชื่อ(อย่างเช่น "ไฟล์:", "ภาพ:")นำหน้า
- คำอธิบายของภาพ เป็นข้อความที่จะปรากฏเมื่อนำเมาส์ไปชี้(ศัพท์คนมีการศึกษาเรียกว่า ทูลทิป) ในลักษณะเดียวกับแม่แบบ {{T}}
- ขนาดภาพ ขนาดของภาพ มีหน่วยเป็นพิกเซล รูปแบบคือ ##px
- เมื่อละเว้น ฟังก์ชั่นนี้จะใช้ขนาดภาพตามค่าตั้งต้น
- หน้าที่จะลิงก์ไปถึง ชื่อหน้าบนไร้สาระนุกรมที่ต้องการให้ภาพนี้ลิงก์ไป
ค่าเหล่านี้สามารถละเว้นบางตัวได้ ยกเว้นชื่อไฟล์ภาพ เมื่อละเว้น ฟังก์ชั่นจะใช้ค่าที่เหมาะสมตามนั้น
ตัวอย่างเช่น :
| คำสั่ง | ผลที่แสดง |
|---|---|
{{#icon: Example.png }}แสดงรูปภาพเฉยๆ (จะไม่มีการสร้างลิงก์) |
|
{{#icon: Example.png | คำอธิบายภาพ }}แสดงรูปภาพแบบมีคำอธิบายภาพ |
|
{{#icon: Example.png | คำอธิบายภาพ | 100px }}แสดงรูปภาพแบบมีคำอธิบายภาพ และกำหนดขนาดภาพ | |
{{#icon: Example.png | คำอธิบายภาพ | 100px | ไร้สาระนุกรม:สนทนาปัญหาโลกแตก }}เพิ่มลิงก์ไปยังหน้า ไร้สาระนุกรม:สนทนาปัญหาโลกแตก | |
ข้อมูลเกี่ยวกับหน้า
สำหรับข้อมูลหน้าได้แก่ ชื่อหน้า, สถิติเกี่ยวกับหน้า จะกล่าวถึงในหมวดหมู่ที่เกี่ยวข้องนั้นๆ แทน
| ต้องการ | คำสั่ง | ผลที่แสดง | หมายเหตุ |
|---|---|---|---|
| แสดงผู้ใช้ที่แก้ไขหน้านี้ครั้งล่าสุด | {{REVISIONUSER}} | Pakorn | |
| แสดงรุ่นการแก้ไขครั้งล่าสุดของหน้านี้ | {{REVISIONID}} | 130203 | |
| แสดงระดับการล็อกของหน้านี้(ล็อกการแก้ไข)1 | {{PROTECTIONLEVEL:edit}} | autoconfirmed | |
| แสดงระดับการล็อกของหน้านี้(ล็อกการเปลี่ยนชื่อ)1 | {{PROTECTIONLEVEL:move}} | autoconfirmed |
1 ฟังก์ชั่นเหล่านี้จะคืนค่าออกมาได้ 2 อย่าง ดังต่อไปนี้
- autoconfirmed กึ่งล็อก (ผู้ใช้ที่ลงทะเบียนแล้วยังสามารถแก้ไขหรือเปลี่ยนชื่อได้)
- sysop ล็อกเต็มรูปแบบ(ผู้ดูแลระบบสามารถแก้ไขได้เท่านั้น)
อนึ่ง ฟังก์ชั่นนี้จะไม่ส่งค่าออกมาถ้าหน้านี้ไม่ได้มีการล็อก
ข้อมูลเกี่ยวกับผู้ใช้
| ต้องการ | คำสั่ง | ผลที่แสดง | หมายเหตุ |
|---|---|---|---|
| แสดงหมายเลขไอพีของผู้ใช้นี้ | {{#ip:}} | 38.107.191.83 | |
| แสดงชื่อรูปแบบหน้าตา(Skin) ที่ผู้ใช้นี้เลือกใช้ | {{#skin:}} | monobook | |
| แสดงเพศของผู้ใช้ที่กำหนด | {{gender:Sahayfont
| สหายฟอนต์ไม่ได้ระบุเพศไว้ | |
| แสดงจำนวนการแก้ไขของผู้ใช้ที่กำหนด |
Sahayfont คือชื่อผู้ใช้ที่กำหนด
| 0 36 |
วันที่และเวลา[4][5]
การแสดงวันที่โดยใช้โค้ดวิกิจะมีระบบวันที่ 2 แบบ คือ วันที่ปัจจุบัน และ วันที่แก้ไขล่าสุดของบทความ
วันที่ปัจจุบัน
| คำอธิบาย | คำสั่ง | ผลที่แสดง | หมายเหตุ |
|---|---|---|---|
| ปี | |||
| ปี | {{CURRENTYEAR}} | 2010 | |
| เดือน | |||
| เลขเดือน(มีเลขศูนย์) | {{CURRENTMONTH}} | 09 | |
| ชื่อเดือน | {{CURRENTMONTHNAME}} | กันยายน | |
| ชื่อเดือน(แบบย่อ) | {{CURRENTMONTHABBREV}} | ก.ย. | |
| วัน | |||
| เลขวันภายในเดือน | {{CURRENTDAY}} | 4 | |
| เลขวันภายในเดือน(2 หลัก) | {{CURRENTDAY2}} | 04 | |
| เลขวันภายในสัปดาห์ | {{CURRENTDOW}} | 6 | นับเริ่มจากวันอาทิตย์ โดยเริ่มที่เลข 0 |
| ชื่อวัน | {{CURRENTDAYNAME}} | วันเสาร์ | |
| เวลา | |||
| เวลา | {{CURRENTTIME}} | 13:21 | แสดงผลแบบ 24 ชั่วโมง(รูปแบบ "hh:mm") |
| ชั่วโมง | {{CURRENTHOUR}} | 13 | แสดงผลแบบ 24 ชั่วโมง(ตัวเลขสองหลัก) |
| นาที1 | {{#time:i}} | 21 | แสดงผลเริ่มจาก 00 จนถึง 59(สองหลัก) |
| วินาที1 | {{#time:s}} | 02 | แสดงผลเริ่มจาก 00 จนถึง 59(สองหลัก) |
1 สำหรับฟังก์ชั่น #time จะกล่าวต่อจากนี้
ฟังก์ชั่นตามที่กล่าวมาจะแสดงเวลาตามเวลาสากลเชิงพิกัด ถ้าต้องการแสดงเวลาท้องถิ่น(ตามการตั้งค่าส่วนตัวของแต่ละผู้ใช้) ให้ใช้คำว่า "LOCAL" แทน "CURRENT" เช่น
{{LOCALTIME}}= 20:21{{LOCALHOUR}}= 20
สำหรับ {{#time:}} ให้เปลี่ยนเป็น {{#timel:}} แทน ซึ่งจะแสดงเวลาท้องถิ่นเช่นเดียวกัน
{{#timel:i}}= 21{{#timel:s}}= 02
เวลาแก้ไขล่าสุด
| คำอธิบาย | คำสั่ง | ผลที่แสดง | หมายเหตุ |
|---|---|---|---|
| ปี | {{REVISIONYEAR}} | 2010 | |
| เดือน | {{REVISIONMONTH}} | 01 | แสดงผลเป็นเลข |
| วัน | {{REVISIONDAY}} | 16 | |
| วัน(สองหลัก) | {{REVISIONDAY2}} | 16 | |
| Time Stamp | {{REVISIONTIMESTAMP}} | 20100116081626 |
สถิติ
ฟังก์ชั่นสถิติจะแสดงผลออกมาเป็นตัวเลข โดยที่จะจัดรูปแบบหลักของตัวเลข (เช่น 22,205) การยกเลิกจัดรูปแบบสามารถทำได้ดังนี้[6]
- เพิ่ม :R เข้าไปหลังชื่อฟังก์ชั่น เช่น {{NUMBEROFPAGES:R}} = 22205
- เพิ่ม |R เข้าไปหลังค่าที่ระบุ เช่น {{PAGESIZE:ปังย่า|R}} = 63941
| คำอธิบาย | คำสั่ง | ผลที่แสดง | หมายเหตุ |
|---|---|---|---|
| สถิติของระบบโดยรวม | |||
| จำนวนหน้าทั้งหมด | {{NUMBEROFPAGES}} | 22,205 | |
| จำนวนบทความ(หน้าในเนมสเปซหรือกลุ่มชื่อ หลัก) | {{NUMBEROFARTICLES}} | 2,473 | |
| จำนวนไฟล์ที่อัปโหลด | {{NUMBEROFFILES}} | 7,057 | |
| จำนวนครั้งที่มีการแก้ไขทั้งหมดในระบบ | {{NUMBEROFEDITS}} | 151,105 | |
| จำนวนผู้ใช้ที่ลงทะเบียนแล้ว | {{NUMBEROFUSERS}} | 4,907 | |
| จำนวนผู้ดูแลระบบ(ผู้ใช้ที่ได้รับสิทธิ sysop และ bureaucrat) | {{NUMBEROFADMINS}} | 7 | |
| จำนวนผู้ใช้ที่กำลังใช้ไร้สาระนุกรม และเคยใช้แล้วภายใน 30 วัน | {{NUMBEROFACTIVEUSERS}} | -1 | (ยังไม่พร้อมใช้งาน) |
| จำนวนครั้งที่เข้าชมหน้าต่างๆ ในไร้สาระนุกรม รวมกันทั้งหมด | {{NUMBEROFVIEWS}} | 11,012,082 | |
| สถิติอื่นๆ | |||
| จำนวนหน้าในกลุ่มชื่อที่ระบุ | {{PAGESINNS:1}}1 คือหมายเลขกลุ่มชื่อที่ระบุ(ในที่นี้เป็นกลุ่มชื่อ พูดคุย) ฟังก์ชั่นนี้ต้องระบุกลุ่มชื่อเป็นตัวเลขเท่านั้น | 716 | |
| จำนวนหน้าในหมวดหมู่ที่ระบุ | {{PAGESINCAT:ชาวเกรียน}}ชาวเกรียน คือชื่อหมวดหมู่ที่ระบุ | 144 | |
| ขนาดของหน้าที่ระบุ(แสดงผลเป็นไบต์) | {{PAGESIZE:เกรียน}}'เกรียน คือหน้าที่ระบุ | 101,862 | |
| จำนวนผู้ใช้ในกลุ่มผู้ใช้ที่กำหนด | {{NUMBERINGROUP:checkuser}}checkuser คือกลุ่มผู้ใช้ที่ระบุ(กลุ่มผู้ใช้ที่มีตาปีศาจ) | 6 | |
ชื่อและการอ้างถึง
| คำอธิบาย | คำสั่ง | ผลที่แสดง | หมายเหตุ |
|---|---|---|---|
| ทั่วไป | |||
| ชื่อหน้านี้(ไม่แสดงกลุ่มชื่อ) | {{PAGENAME}} | การเขียนโค้ดขั้นสูง | ถ้าหน้าปัจจุบันเป็นหน้าย่อย เช่น ns:x/y จะแสดงผล x/y |
| ชื่อเต็มของหน้านี้(แสดงกลุ่มชื่อ) | {{FULLPAGENAME}} | ไร้สาระนุกรม:การเขียนโค้ดขั้นสูง | |
| ชื่อเต็มของหน้านี้ | {{#arg:title}} | ไร้สาระนุกรม:การเขียนโค้ดขั้นสูง | จะแตกต่างกับฟังก์ชั่น {{FULLPAGENAME}} ตรงที่ว่า ถ้าหน้าปัจจุบันนั้นเปลี่ยนทางมาจากหน้าอื่น จะแสดงชื่อหน้าที่หน้าปัจจุบัน ได้เปลี่ยนทางมา |
| กลุ่มชื่อของหน้า | {{NAMESPACE}} | ไร้สาระนุกรม | |
| การอ้างถึงหน้าเนื้อหา | |||
| กลุ่มชื่อ1 | {{SUBJECTSPACE}} | ไร้สาระนุกรม | ถ้าหน้าปัจจุบันเป็น คุยเรื่องแม่แบบ:x จะแสดง แม่แบบ |
| ชื่อหน้า1 | {{SUBJECTPAGENAME}} | ไร้สาระนุกรม:การเขียนโค้ดขั้นสูง | ถ้าหน้าปัจจุบันเป็น คุยเรื่องแม่แบบ:x จะแสดง แม่แบบ:x |
| การอ้างถึงหน้าพูดคุย | |||
| ชื่อหน้าพูดคุย2 | {{TALKPAGENAME}} | คุยเรื่องไร้สาระนุกรม:การเขียนโค้ดขั้นสูง | |
| กลุ่มชื่อของหน้าพูดคุย2 | {{TALKSPACE}} | คุยเรื่องไร้สาระนุกรม | |
| ระบบหน้าย่อย(Sub Page) | |||
| ชื่อหน้าย่อยปัจจุบัน3 | {{SUBPAGENAME}} | การเขียนโค้ดขั้นสูง | ถ้าหน้าปัจจุบันเป็น ns:x/y จะแสดง y |
| ชื่อหน้าราก3 | {{BASEPAGENAME}} | การเขียนโค้ดขั้นสูง | ถ้าหน้าปัจจุบันเป็น ns:x/y จะแสดง x |
1 ฟังก์ชั้นเหล่านั้นจะเห็นผลได้ชัดเมื่อใช้ในหน้าพูดคุย
2 ฟังก์ชั้นเหล่านั้นจะเห็นผลได้ชัดเมื่อใช้ในหน้าเนื้อหา
3 ฟังก์ชั่นเหล่านั้นจะเห็นผลได้ชัดเมื่อใช้ในหน้าย่อย
ฟังก์ชั่นข้างต้นเหล่านี้จะแสดงผลข้อมูลสำหรับหน้าปัจจุบัน(โดยปกติ) สำหรับการใช้การเข้ารหัสยูอาร์แอล(URL-encoding) สามารถทำได้โดยการเติม E เข้าไปที่หลังชื่อฟังก์ชั่น เช่น {{FULLPAGENAMEE}} = ชี้เมาส์ที่นี่
นอกจากนี้ เราสามารถกำหนดชื่อหน้าที่ต้องการให้กับฟังก์ชั่นเหล่านี้ได้(ไม่ใช่ {{#arg:title}}) เพื่อให้ฟังก์ชั่นข้างต้นแสดงข้อมูลสำหรับหน้าที่ระบุ แทนที่จะเป็นของหน้านี้ อย่างเช่น
{{TALKPAGENAME:ไร้สาระนุกรม}}= พูดคุย:ไร้สาระนุกรม{{TALKSPACE:ไร้สาระนุกรม}}= พูดคุย{{BASEPAGENAME: ผู้ใช้:Gothichaos/อาณาจักรไร้สาระนุกรม }}= Gothichaos
การดัดแปลงชื่อ
ฟังก์ชั่น {{#rel2abs:}}
ฟังก์ชั่นนี้ใช้เปลี่ยนชื่อหน้าย่อย(เช่น "/x") เป็นชื่อหน้าเต็ม ลองดูตัวอย่างดังต่อไปนี้
- ถ้าฟังก์ชั่นนี้ใช้อยู่ในหน้า ns:a/b เมื่อใช้
{{#rel2abs:/w}}จะแสดง ns:a/b/w - ถ้าฟังก์ชั่นนี้ใช้อยู่ในหน้า ns:a/b เมื่อใช้
{{#rel2abs:../w}}จะแสดง ns:a/w
ฟังก์ชั่น {{#titleparts:}}[7]
นี่คือฟังก์ชั่นสำหรับแสดงชื่อหน้าย่อยตามจำนวนที่ต้องการ โดยมีหลักการตาม "ระบบหน้าย่อย" โดยมีเครื่องหมาย "/" เป็นตัวแบ่ง ฟังก์ชั่นนี้มีการใช้งาน 2 แบบ การใช้งานแบบแรกคือการแสดงผลหน้าย่อยตามจะนวนที่ต้องการโดยเริ่มจากทางด้านซ้าย และแบบที่สองจะการแสดงหน้าย่อยที่ต้องการโดยกำหนดหน้าย่อยแรก และหน้าย่อยสุดท้ายที่ต้องการ
การใช้งานแบบแรก
{{#titleparts: ชื่อหน้า(หน้าใดก็ได้) | จำนวนหน้าย่อยที่ต้องการแสดง(ระบุเป็นเลข) }}
อย่างเช่น
{{#titleparts: ns:a/b/c/d/e | 1 }}= Ns:a{{#titleparts: ns:a/b/c/d/e | 2 }}= Ns:a/b{{#titleparts: ns:a/b/c/d/e | 3 }}= Ns:a/b/c
จากตัวอย่างข้างต้น จะเป็นการกำหนดชื่อหน้าในพารามิเตอร์ที่ 1 และกำหนดจำนวนหน้าย่อยที่จะแสดงลงในพารามิเตอร์ที่ 2 ให้กับฟังก์ชั่นนี้ ฟังก์ชั่นนี้จะคืนค่าเป็นชื่อหน้าย่อยเป็นจำนวนตามที่กำหนด แต่ทั้งนี้การกำหนดจำนวนหน้าย่อยเป็น 0 ไม่ได้หมายความว่าฟังก์ชั่นนี้จะไม่แสดงชื่อหน้าออกมาเลย แต่ฟังก์ชั่นจะเข้าใจว่าเราไม่ได้ทำการกำหนดค่าในพารามิเตอร์ที่ 2 ไว้ ซึ่งจะได้ผลตามตัวอย่างด้านล่างนี้
{{#titleparts: ns:a/b/c/d/e | 0 }}= Ns:a/b/c/d/e{{#titleparts: ns:a/b/c/d/e }}= Ns:a/b/c/d/e
จะเห็นว่า ทั้งสองตัวอย่างด้านบน จะได้ผลเหมือนกัน
การใช้งานแบบที่สอง
{{#titleparts: ชื่อหน้า(หน้าใดก็ได้) | จำนวนหน้าย่อยที่จะแสดง | เลขลำดับหน้าย่อยที่ต้องการแสดง }}
ฟังก์ชั่นนี้มีประโยชน์ในการกำหนดช่วงของชื่อหน้าย่อยที่จะแสดง อย่างเช่นเราต้องการจะแสดงหน้าย่อยของหน้า ns:a/b/c/d/e โดยกำหนดช่วงเป็น(ตามที่ขีดเส้นใต้) ns:a/b/c/d/e เราก็สามารถใช้ฟังก์ชั่นได้ดังนี้
{{#titleparts: ns:a/b/c/d/e | 3 | 2 }}- 3 คือจำนวนหน้าย่อยที่ต้องการแสดง เนื่องจากตามตัวอย่างนี้ต้องการแสดงผลหน้าย่อยตามที่ขีดเส้นใต้ไว้ ซึ่งเป็น 3 หน้าย่อย
- 2 คือเลขลำดับหน้าย่อยที่ต้องการแสดง("b" คือหน้าย่อยที่ 2 เมื่อกำหนดในพารามิเตอร์ที่สองเป็น "3" ฟังก์ชั่นนี้จะแสดงหน้าย่อยออกมา 3 หน้าถัดจาก b)
- จากตัวอย่างข้างต้น จะได้ b/c/d
ลิงก์และที่อยู่
| คำอธิบาย | คำสั่ง | ผลที่แสดง | หมายเหตุ |
|---|---|---|---|
| ที่อยู่ของเว็บนี้ | {{SERVER}} | http://www.xn--12c1czafac9b9bq7dxgrc.com | |
| โดเมนเนม ของเว็บนี้ | {{SERVERNAME}} | www.xn--12c1czafac9b9bq7dxgrc.com | |
| ที่อยู่ของเว็บนี้ | {{SERVER}} | http://www.xn--12c1czafac9b9bq7dxgrc.com | |
| ที่อยู่ภายใน | {{localurl:ชื่อหน้า|ข้อความต่อท้าย}} | /index.php?title=%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%AB%E0%B8%99%E0%B9%89%E0%B8%B2&ข้อความต่อท้าย |
|
| ที่อยู่เต็ม | {{fullurl:ชื่อหน้า|ข้อความต่อท้าย}} | http://www.xn--12c1czafac9b9bq7dxgrc.com/index.php?title=%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%AB%E0%B8%99%E0%B9%89%E0%B8%B2&ข้อความต่อท้าย |
|
| การเข้ารหัสยูอาร์แอล | |||
| เข้ารหัสยูอาร์แอล 1(เข้ารหัสแบบทั่วไป) | {{urlencode:ข้อ ความ}} | %E0%B8%82%E0%B9%89%E0%B8%AD+%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1 | ช่องวรรค จะถูกเปลี่ยนเป็น "+" |
| เข้ารหัสยูอาร์แอล 2(เข้ารหัสแบบตัวบอกตำแหน่งในเพจ) | {{anchorencode:ข้อ ความ}} | .E0.B8.82.E0.B9.89.E0.B8.AD_.E0.B8.84.E0.B8.A7.E0.B8.B2.E0.B8.A1 | ช่องวรรค จะถูกเปลี่ยนเป็น "_" |
การสุ่ม
| คำอธิบาย | คำสั่ง | ผลที่แสดง | หมายเหตุ |
|---|---|---|---|
| สุ่มตัวเลข[8] | {{#rand:1|8}}ในที่นี้เป็นการสุ่มเลข 1 ถึง 8 | 1 | |
| การสุ่มข้อความ/โค้ด | <choose>
<option>ค่า1</option>
<option>ค่า2</option>
<option>ค่า3</option>
...
...
</choose>
| ค่า2 |
การตรวจสอบโดยเงื่อนไข[9]
ฟังก์ชั่นที่ใช้ในการตรวจสอบค่าจะสามารถตรวจสอบค่าของตัวแปร ตัวแปรอัตโนมัติ หรือค่าที่ผู้ใช้กำหนดเองได้
ตรวจสอบว่ามีค่าส่งออกมาหรือไม่
{{#if:ค่า|ส่วนที่ 1|ส่วนที่ 2}}
สำหรับส่วนที่ 1 นั้น ค่าในส่วนที่ 1 จะแสดงออกมาจากฟังก์ชั่นเมื่อ "ค่า" มีค่าอยู่จริง สำหรับส่วนที่ 2 ค่าในส่วนนี้จะแสดงออกมาเมื่อ "ค่า" เป็นค่าว่างหรือไม่มีค่า ในส่วนนี้จะใส่หรือไม่ใส่ก็ได้ ถ้าไม่ใส่ เมื่อฟังก์ชั่นแสดงส่วนนี้ออกมาจะมีแต่ความว่างเปล่า
ดูตัวอย่างต่อไปนี้
{{#if:กขคง|ลัทธิเรดอเลิร์ท|ท่านศาสดาหมูแฮม}} ฟังก์ชั่นจะแสดงออกมา คือ ลัทธิเรดอเลิร์ท
สาเหตุที่ได้ค่านี้ออกมา คือ ฟังก์ชั่นได้มีค่าที่ผู้ใช้กำหนดเอง(ซึ่งก็คือ "กขคง") ฟังก์ชั่นจึงแสดงค่าในส่วนที่ 2 ออกมาเป็น ลัทธิเรดอเลิร์ท นั่นเอง
ในทางตรงกันข้าม ถ้าใส่ค่าว่างลงไปแทน กขคง
| โค้ดคำสั่ง | ผลลัพธ์ |
|---|---|
{{#if:|มีค่าอยู่จริง|ค่าหายไปใหน}} | ค่าหายไปใหน |
{{#if:<!--กขคง-->|ต้องมีแน่ๆ|ไม่มีหรอกนะ}} | ไม่มีหรอกนะ |
ฟังก์ชั่นนี้ยังสามารถตรวจสอบตัวแปรธรรมดา และตัวแปรอัตโนมัติได้ โดยใช้หลักการเดียวกับข้างต้น ตังนี้
| โค้ดคำสั่ง | ผลลัพธ์ |
|---|---|
{{#if:{{NAMESPACE}}|ส่วนที่ 1|ส่วนที่ 2}} | ส่วนที่ 1 |
1{{#if:{{{1|}}|ส่วนที่ 1|ส่วนที่ 2}} | ส่วนที่ 2 |
1{{#if:{{{1}}}|ส่วนที่ 1|ส่วนที่ 2}} | ส่วนที่ 1 |
1 แสดงให้เห็นถึงการตรวจสอบค่าตัวแปร จะเห็นว่าข้อสุดท้ายฟังก์ชั่นจะแสดงค่าในส่วนที่ 1 ออกมา เนื่องจากฟังก์ชั่นจะเห็นว่ามีค่าของตัวแปรออกมา
การตรวจสอบค่าตัวแปรจะต้องใส่เครื่องหมายไปป์ ( | ) ตามหลังด้วยทุกครั้ง เช่น {{{xyz|}}} มิฉะนั้นฟังก์ชั่นจะเข้าใจว่ามีการส่งค่าออกมาจากตัวแปร
การตรวจสอบว่ามีหน้านั้นๆ อยู่หรือไม่
เป็นการตรวจสอบว่ามีหน้าที่ต้องการอยู่จริงหรือไม่ ซึ่งมีวิธีการเขียนโค้ดดังนี้
{{#Ifexist:''ชื่อหน้า''|''ข้อความที่แสดงถ้ามีหน้าอยู่จริง''|''ข้อความที่แสดงถ้าไม่มีหน้า''}}
ซึ่งคำสั่ง {{#Ifexist}} เป็นคำสั่งที่ใช้สำหรับตรวจสอบว่ามีหน้าอยู่จริงหรือไม่
ตัวอย่างที่1
{{#Ifexist:ข้อมูลปกปิด|มีหน้า [[ข้อมูลปกปิด]] อยู่จริง|ไม่มีหน้า [[ข้อมูลปกปิด]]}}
ถ้ามีหน้าข้อมูลปกปิด อยู่จริง จะแสดง มีหน้า ข้อมูลปกปิด อยู่จริง
แต่ถ้าไม่มีหน้าข้อมูลปกปิด อยู่ จะแสดง ไม่มีหน้า ข้อมูลปกปิด
ซึ่งผลลัพธ์ที่ได้คือ
มีหน้า ข้อมูลปกปิด อยู่จริง
ตัวอย่างที่ 2
{{#Ifexist:ขิดมูลปกป้อ|มีหน้า [[ขิดมูลปกป้อ]] อยู่จริง|ไม่มีหน้า [[ขิดมูลปกป้อ]]}}
ถ้ามีหน้าขิดมูลปกป้อ อยู่จริง จะแสดง มีหน้า ขิดมูลปกป้อ อยู่จริง
แต่ถ้าไม่มีหน้าขิดมูลปกป้อ อยู่ จะแสดง ไม่มีหน้า ขิดมูลปกป้อ
ซึ่งผลลัพธ์ที่ได้คือ
ไม่มีหน้า ขิดมูลปกป้อ
การเลือกค่า
การเลือกค่า คือ การแสดงค่าหนึ่งๆ เมื่อในตัวแปรมีอีกค่าหนึ่ง
ถ้ายังไม่เข้าใจ ลองดูโค้ดนี้ ซึ่งโค้ดนี้เป็นโค้ดในแม่แบบ switch
{{#switch:{{{word}}}
|พระเจ้า = บร๊ะเจ้า
|นักการเมือง = นักการเมีย
|รัฐธรรมนูญ = รัฐธรรมนู้บ
|เอเชียกลาง = เอเชยกลวง
|#default = ไม่พบคำทับศัพท์นี้
}}
ซึ่งโค้ดแต่ละตัวมีความหมายดังนี้
- คำสั่ง {{#switch}} เป็นคำสั่งหลักที่ใช้สำหรับการเลือกค่า
- {{{word}}} (ตัวแปร word) เป็นตัวแปรที่ใช้ในการเลือกค่า
- พระเจ้า นักการเมือง รัฐธรรมนูญ และ เอเชียกลาง เป็นค่าๆ หนึ่ง ถ้าตัวแปร var ส่งค่าใดค่าหนึ่งออกมา คำสั่ง {{#switch}} จะส่งค่าที่อยู่ถัดจากเครื่องหมายเท่ากับ (=) ของแต่ละค่า ออกไปแทน
- #default เป็นคำสั่งๆ หนึ่ง ซึ่งจะทำงานเมื่อ ถ้าตัวแปรไม่ได้ส่งค่าใดค่าหนึ่งใน 4 ค่าข้างต้นออกมา คำสั่ง {{#switch}} จะส่งค่าที่อยู่ถัดจากเครื่องหมายเท่ากับ (=) ที่อยู่หลัง #default ออกไปแทน
จากความหมายของโค้ดดังนี้ กล่าวได้ว่า คำสั่ง {{#switch}} เป็นคำสั่งสำหรับเลือกค่านั่นเอง ซึ่งการทำงานของมันคือ เมื่อในตัวแปรที่อยู่ในคำสั่ง {{#switch}} มีค่าๆ หนึ่ง คำสั่ง {{#switch}} จะส่งค่าอีกค่าหนึ่งออกมาแทน ซึ่งสามารถดูตัวอย่างได้ดังต่อไปนี้
ตัวอย่าง (ใช้แม่แบบสมมุติ switch เป็นดารารับเชิญ)
ในแม่แบบดังกล่าวมีโค้ดดังนี้
{{#switch:{{{word}}}
|พระเจ้า = บร๊ะเจ้า
|นักการเมือง = นักการเมีย
|รัฐธรรมนูญ = รัฐธรรมนู้บ
|เอเชียกลาง = เอเชยกลวง
|#default = ไม่พบคำทับศัพท์นี้
}}
ควรดูโค้ดด้านบนประกอบด้วย จึงจะเข้าใจตัวอย่าง
| | | |
|---|---|---|
| ส่งค่า "พระเจ้า" ให้ตัวแปร word | {{switch|word=พระเจ้า}} | บร๊ะเจ้า |
| ส่งค่า "นักการเมือง" ให้ตัวแปร word | {{switch|word=นักการเมือง}} | นักการเมีย |
| ส่งค่า "รัฐธรรมนูญ" ให้ตัวแปร word | {{switch|word=รัฐธรรมนูญ}} | รัฐธรรมนู้บ |
| ส่งค่า "เอเชียกลาง" ให้ตัวแปร word | {{switch|word=เอเชียกลาง}} | เอเชยกลวง |
| ส่งค่า "มนุษย์" ให้ตัวแปร word | {{switch|word=มนุษย์}} | ไม่พบคำทับศัพท์นี้ |
| ไม่ส่งค่าอะไรเลย ให้ตัวแปร word | {{switch|word=}} | ไม่พบคำทับศัพท์นี้ |
จะเห็นว่า ถ้าส่งค่า "พระเจ้า" "นักการเมือง" "รัฐธรรมนูญ" "เอเชียกลาง" ค่าใดค่าหนึ่ง ให้ตัวแปร var แม่แบบจะส่งค่าที่อยู่ถัดจากเครื่องหมายเท่ากับ (=) ออกมา แต่ถ้าส่งค่าอื่นๆ ที่นอกเหนือจากนี้ หรือไม่ส่งค่าอะไรเลย แม่แบบจะส่งค่าที่อยู่ถัดจากเครื่องหมายเท่ากับ (=) ของคำสั่ง #default ออกมาแทน
การตรวจสอบความเท่ากัน
คุณสามารถตรวจสอบความเท่ากันของค่า 2 ชุดโดยใช้คำสั่ง {{#Ifeq}} ซึ่งมีการเขียนโค้ดดังนี้
{{#Ifeq:<ค่าชุดที่ 1>|<ค่าชุดที่ 2>|<ข้อความที่แสดงเมื่อค่าชุดที่ 1 และค่าชุดที่ 2 มีค่าเท่ากัน>|<ข้อความที่แสดงเมื่อค่าชุดที่ 1 และค่าชุดที่ 2 มีค่าไม่เท่ากัน>}}
หมายเหตุ ค่าที่จะนำมาเปรียบเทียบไม่จำเป็นต้องเป็นค่าตัวเลขเสมอไป จะเป็นค่าอะไรก็ได้
ซึ่งเราจะใช้แม่แบบ equal เป็นตัวอย่าง ในแม่แบบดังกล่าวมีโค้ดดังนี้
{{#Ifeq:{{{vara}}}|{{{varb}}}|ตัวแปร '''vara''' มีค่าเท่ากับตัวแปร '''varb''' โดยมีค่าเท่ากับ
*vara = {{{vara}}}
*varb = {{{varb}}}
|ตัวแปร '''vara''' มีค่าไม่เท่ากับตัวแปร '''varb''' โดยมีค่าดังนี้
*vara = {{{vara}}}
*varb = {{{varb}}}
}}
หลักการของมันคือ ในแม่แบบจะมีตัวแปรอยู่ 2 ตัวคือ vara และ varb โดยค่าชุดที่ 1 เป็นค่าที่ส่งออกมาจากตัวแปร vara และค่าชุดที่ 2 เป็นค่าที่ส่งออกมาจากตัวแปร varb เมื่อตัวแปรทั้งสองมีค่าเท่ากัน แม่แบบจะส่งข้อความออกมาว่าตัวแปรทั้งสองว่ามีค่าเท่ากัน และจะแสดงค่าในตัวแปรทั้งสองตัวดังกล่าว แต่ถ้าตัวแปรทั้งสองมีค่าไม่เท่ากัน แม่แบบจะส่งข้อความออกมาว่าตัวแปรทั้งสองว่ามีค่าไม่เท่ากัน และจะแสดงค่าในตัวแปรทั้งสองเช่นเดียวกัน
ตัวอย่างที่ 1
{{equal
|vara = rev
|varb = ver
}}
คำอธิบาย เป็นการเรียกแม่แบบขึ้นมาทำงาน แล้วส่งค่าให้ตัวแปร vara เป็น rev และส่งค่าให้ตัวแปร varb เป็น ver
ได้ผลลัพธ์ดังนี้
ตัวแปร vara มีค่าไม่เท่ากับตัวแปร varb โดยมีค่าดังนี้
- vara = rev
- varb = ver
ตัวอย่างที่ 2
{{equal
|vara = xex
|varb = xex
}}
คำอธิบาย เป็นการเรียกแม่แบบขึ้นมาทำงาน แล้วส่งค่าให้ตัวแปร vara เป็น xex และส่งค่าให้ตัวแปร varb เป็น xex
ได้ผลลัพธ์ดังนี้
ตัวแปร vara มีค่าเท่ากับตัวแปร varb โดยมีค่าเท่ากับ
- vara = xex
- varb = xex
การคำนวณทางคณิตศาสตร์และเปรียบเทียบ[10]
คำสั่ง {{#expr}} เป็นคำสั่งที่ใช้ในการคำนวณ หรือเปรียบเทียบ
การคำนวณ
คำนวณโดยใช้คำสั่ง {{#expr}} ตามที่กล่าวไปข้างต้น โดยมีวิธีการเขียนโค้ดดังนี้
{{#expr: <ตัวตั้ง> <วิธีการคำนวณ> <ตัวคำนวณ>}}
- ตัวตั้ง คือ ค่าตัวเลข(ห้ามเป็นตัวอักษร) ที่เป็นตัวตั้ง
- วิธีการคำนวณ คือ สัญลักษณ์พิเศษที่บ่งบอกถึงวิธีการคำนวณ เช่น บวก ลบ คูณ หาร
- ตัวคำนวณ คือ ค่าตัวเลข(ห้ามเป็นตัวอักษร) ที่นำมาคำนวณกับตัวตั้ง ตามวิธีการคำนวณ
สัญลักษณ์พิเศษต่างๆ
| สัญลักษณ์ | ความหมาย |
|---|---|
| + | บวก |
| - | ลบ |
| * | คูณ |
| / หรือ div | หาร |
| mod | หารเอาเศษ |
| ^ | ยกกำลัง |
ตัวอย่าง
| โค้ด | ผลลัพธ์ที่ได้ | ความหมาย |
|---|---|---|
{{#expr: 30 + 60}} | 90 | 30 + 60 = 90 |
{{#expr: 49 + 49}} | 98 | 49 + 49 = 98 |
{{#expr: 15 - 3}} | 12 | 15 - 3 = 12 |
{{#expr: 45 - 45}} | 0 | 45 - 45 = 0 |
{{#expr: 5 * 5}} | 25 | 5 x 5 = 25 |
{{#expr: 100 * 50}} | 5000 | 100 x 50 = 5000 |
{{#expr: 90 / 2}} | 45 | 90 ÷ 2 = 12 |
{{#expr: 8 / 3}} | 2.6666666666667 | 8 ÷ 3 = 2 เศษ 1 |
ตัวดำเนินการพิเศษสำหรับการแสดงผล
นอกจากนี้แล้ว ฟังก์ชั่น {{#expr}} ยังสามารถกำหนดลักษณะของจำนวนเลขก่อนที่จะแสดงผลได้อีกโดยใช้ตัวดำเนินการพิเศษ ดังต่อไปนี้
| สิ่งที่จะทำ | การใช้งาน |
|---|---|
| กำหนดจำนวนตำแหน่งทศนิยมที่แสดงผลออกมา | {{#expr: จำนวนเลข หรือนิพจน์ round จำนวนตำแหน่งทศนิยม }}
|
| ตัดเลขทศนิยมออกทั้งหมด | {{#expr: trunc จำนวน }}และ {{#expr: trunc (นิพจน์) }}
|
| แสดงค่าพาย | {{#expr: PI }} = 3.1415926535898และสามารถนำไปคำนวนได้ตามปกติ เช่น
|
| แสดงค่าสัมบูรณ์ | {{#expr: abs จำนวนตัวเลข }}
|
ตัวดำเนินการเหล่านี้สามารถจัดกลุ่มให้อยู่ในวงเล็บเช่นเดียวกับตัวดำเนินการทั่วไป
การเปรียบเทียบ
การเปรียบเทียบจะใช้คำสั่ง {{#expr}} เช่นเดียวกับการคำนวณ มีลักษณะการเขียนโค้ดที่คล้ายกับการคำนวณ ดังนี้
{{#expr: <ชุดค่าที่ 1> <วิธีการเปรียบเทียบ> <ชุดค่าที่ 2>}}
- ชุดค่าที่ 1 ชุดค่าที่จะนำมาเปรียบเทียบ
- วิธีการเปรียบเทียบ สัญลักษณ์พิเศษที่บ่งบอกถึงวิธีการเปรียบเทียบ เช่น มากกว่า น้อยกว่า
- ชุดค่าที่ 2 ชุดค่าที่จะนำมาเปรียบเทียบ
สัญลักษณ์พิเศษ
| สัญลักษณ์ | ความหมาย |
|---|---|
| > | มากกว่า |
| < | น้อยกว่า |
| = | เท่ากับ |
| != หรือ <> | ไม่เท่ากับ |
| >= | มากกว่าหรือเท่ากับ |
| <= | น้อยกว่าหรือเท่ากับ |
ค่าที่ส่งออกมาจากคำสั่ง
คำสั่ง {{#expr}} เมื่อเปรียบเทียบจะส่งค่าออกมาว่าเป็นจริงหรือ เป็นเท็จ ดังนี้
- 0 = ค่าเท็จ(False)
- 1 = ค่าจริง(True)
เช่น เรานำ 3 และ 5 ไปเปรียบเทียบว่า 3 < 5 จะได้ค่าเป็น 1 เนื่องจาก 3 น้อยกว่า 5 จริง นั่นเอง
ตัวอย่าง
| คำสั่ง | ผลลัพธ์ | ความหมาย |
|---|---|---|
{{#expr: 27 < 29}} | 1 | 27 น้อยกว่า 29 เป็นค่าจริง |
{{#expr: 56 < 38}} | 0 | 56 น้อยกว่า 38 เป็นค่าเท็จ |
{{#expr: 46 > 15}} | 1 | 46 มากกว่า 15 เป็นค่าจริง |
{{#expr: 32 > 108}} | 0 | 32 มากกว่า 108 เป็นค่าเท็จ |
{{#expr: 5056 = 5056}} | 1 | 5056 เท่ากับ 5056 เป็นค่าจริง |
{{#expr: 10903 = 400}} | 0 | 10903 เท่ากับ 400 เป็นค่าเท็จ |
นอกจากนี้ คุณยังสามารถใช้คำสั่ง {{#ifexpr}} ในการเปรียบเทียบทางคณิตศาสตร์ โดยมีวิธีการใช้แบบเดียวกัน แต่คำสั่งนี้สามารถแสดงข้อความออกมาได้เลย เช่นเดียวกับคำสั่ง {{#if:}} ที่ได้กล่าวไว้แล้วตอนต้น
{{#ifexpr:<ค่า 1> <การเปรียบเทียบ> <ค่า 2>|<แสดงเมื่อเป็นจริง>|<แสดงเมื่อเป็นเท็จ>}}
การตรวจสอบความผิดพลาดของฟังก์ชั่น[11]
ในการเขียนโค้ดนั้น อาจจะเกิดความผิดพลาดโดยไม่คาดฝันอันเนื่องมาจากการเขียนโค้ดผิดพลาด จนทำให้ตัวฟังก์ชั่นฟ้องออกมา และอาจจะมีผลกระทบต่อหน้านั้นด้วย เราสามารถตรวจสอบควบคุมความผิดพลาดโดยใช้ฟังก์ชั่น {{#iferror:}} ได้ การใช้ฟังก์ชั่นนี้จะควบคุมไม่ให้ฟังก์ชั่นฟ้องออกมาจนทำให้มีผลกระทบต่อตัวหน้า
อย่างไรก็ตามฟังก์ชั่นนี้ก็ยังมีข้อจำกัด ฟังก์ชั่นดังกล่าวสามารถตรวจสอบความผิดพลาดของสิ่งต่างๆ ได้ดังนี้
- ความผิดพลาดของฟังก์ชั่นต่อไปนี้ : {{#expr:}} {{#time:}} และ {{#rel2abs:}}
ฟังก์ชั่นดังกล่าวมีการใช้งานดังนี้
{{#iferror: โค้ดที่ต้องการตรวจสอบความผิดพลาด | [ข้อความที่จะแสดงเมื่อเกิดความผิดพลาดขึ้น] | [ข้อความที่จะแสดงเมื่อไม่เกิดความผิดพลาด] }}
อย่างเช่นความผิดพลาดในการคำนวนของฟังก์ชั่น {{#expr:}} ดังนี้
{{#expr: 2 / 0}}= สูตรไม่ถูกต้อง : หารด้วยศูนย์
จะเห็นว่าฟังก์ชั่นนี้จะแสดงข้อความผิดพลาดขึ้นมา(การหารด้วยศูนย์) ดังนั้นถ้าจับใส่ {{#iferror:}} ก็จะแสดงผลดังต่อไปนี้
{{#iferror: {{#expr: 2 / 0}} | abc | xyz }}= abc
แต่ถ้าฟังก์ชั่นนี้ไม่เกิดความผิดพลาด ก็จะแสดง "xyz" แทน
นอกจากนี้ ฟังก์ชั่นนี้ยังมีรายละเอียดการระบุค่าปลีกย่อยต่างๆ ดังต่อไปนี้
{{#iferror: {{#expr: 1 + 2 }} | error | correct }}→ correct{{#iferror: {{#expr: 1 + X }} | error | correct }}→ error{{#iferror: {{#expr: 1 + 2 }} | error }}→ 3{{#iferror: {{#expr: 1 + X }} | error }}→ error{{#iferror: {{#expr: 1 + 2 }} }}→ 3{{#iferror: {{#expr: 1 + X }} }}→
การสร้างการแสดงรายการหน้า[12]
ในการแสดงผลรายการหน้าหรือบทความในเว็บ คุณสามารถใช้แท็ก <forum> ในการแสดงผลได้ ซึ่งมาการใช้งานดังนี้(สามารถดูตัวอย่างรายการได้ที่ แม่แบบ:สภาน้ำชาลิสต์)
<forum> พารามิเตอร์1 = ค่า1 พารามิเตอร์2 = ค่า2 </forum>
ต่อไปนี้จะกล่าวถึงพารามิเตอร์ที่จำเป็นในการใช้ฟังก์ชั่นนี้
พารามิเตอร์เกี่ยวกับข้อมูลเนื้อหา
- category={ชื่อหมวดหมู่} แสดงรายชื่อหน้าต่างๆ ที่มีในหมวดหมู่ที่ระบุไว้ในพารามิเตอร์นี้
หมวดหมู่ที่ระบุในพารามิเตอร์นี้ไม่ต้องใส่ "หมวดหมู่:" นำหน้า
<forum> category = นักร้อง </forum>
- notcategory={ชื่อหมวดหมู่} เอาหน้าที่มีในหมวดหมู่ที่ระบุในพารามิเตอร์นี้ออกไปจากรายการ
พารามิเตอร์นี้ต้องใช้คู่กับ "category" เสมอ
category=นิยามคำศัพท์ notcategory=สิ่งที่ชาววิเกรียนฯไม่มีวันทำได้
นั่นหมายความว่า จะแสดงหน้าที่มีหมวดหมู่ นิยามคำศัพท์ ทั้งหมด แต่ยกเว้นหน้าที่มีหมวดหมู่ สิ่งที่ชาววิเกรียนฯไม่มีวันทำได้ ซึ่งในลิสต์นี้ บทความ ข้อมูลปกปิด จะไม่ถูกแสดงเนื่องจากมีหมวดหมู่ สิ่งที่ชาววิเกรียนฯไม่มีวันทำได้ ถึงแม้จะมี นิยามคำศัพท์ อยู่ด้วยก็ตาม
ไม่ต้องใส่ "หมวดหมู่:" นำหน้า
อ้างอิง
- ↑ Help:Magic_words#Miscellaneous - Mediawiki
- ↑ Help:Magic_words#Behaviour_switches - Mediawiki
- ↑ กูเกิลไม่ได้ใช้แท็ก meta keywords ในการจัดอันดับค้นหา โดย Blognone
- ↑ Help:Magic words - Mediawiki
- ↑ Help:ParserFunctions - Meta
- ↑ Help:Magic_words#Statistics - Mediawiki
- ↑ Help:Extension:ParserFunctions#.23titleparts:
- ↑ Extension:DynamicFunctions - Mediawiki
- ↑ Help:ParserFunctions - Meta
- ↑ Help:ParserFunctions - Meta#.23expr
- ↑ Help:Extension:ParserFunctions#iferror: - Mediawiki
- ↑ Extension:DPLforum

