Open main menu


This page is a translated version of the page Manual:Extensions and the translation is 22% complete.

Other languages:
Bahasa Indonesia • ‎Bahasa Melayu • ‎Deutsch • ‎English • ‎Mirandés • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎čeština • ‎Ελληνικά • ‎български • ‎русский • ‎العربية • ‎سنڌي • ‎پښتو • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어
Gnome-preferences-other.svg Extensions: Development Tag extensions คู่มือการใช้:พาร์เซอร์ฟังก์ชัน Hooks Special pages Skins คู่มือ:เมจิค เวิร์ด API Content models




ผู้ใช้วิกิสามารถเรียกดูผ่านทางส่วนขยายที่มีอยู่ หรือขอให้มีการขยายใหม่ ผู้ดูแลระบบสามารถติดตั้ง (หรือลบ) ส่วนขยายในการติดตั้งมีเดียวิกิที่พวกเขาจัดการ นักพัฒนาสามารถเขียนส่วนขยายใหม่ หรือปรับปรุงหรือรักษาส่วนขยายที่มีอยู่



ทั้งนี้ขึ้นอยู่กับเป้าหมายของคุณ คุณสามารถใช้ส่วนขยายสำหรับ:

  • ส่วนขยายภาษามาร์กอัปวิกิเพื่อในการเขียนบทความ - ดู Category:Parser function extensions และ Category:Parser extensions สำหรับตัวอย่าง
  • เพิ่มการรายงานใหม่และความสามารถในการบริหาร - ดู Category:Special page extensions สำหรับตัวอย่าง
  • เปลี่ยนลักษณะและความรับรู้ของมีเดียวิกิ - ดู Special:AllPages/Skin: และ Category:User interface extensions สำหรับตัวอย่าง
  • เพิ่มความปลอดภัยผ่านทางกลไกการตรวจสอบที่กำหนดเอง - ดู Category:User access extensions สำหรับตัวอย่าง

ในขณะที่บางส่วนขยายจะรักษาโดยนักพัฒนาซอฟต์แวร์มีเดียวิกิ หรือคนอื่น ๆ ที่เขียนโดยนักพัฒนาบุคคลที่สาม ผลที่ตามมา อาจมีบั๊กจำนวนมาก และพวกเขาจะไม่สามารถรับประกันได้ทั้งหมดที่จะเข้ากันได้กับแต่ละส่วนขยายอื่น ๆ บางส่วนไม่ได้มีการบำรุงรักษา; โปรแกรมส่วนขยายไม่ใช่ทั้งหมดที่จะทำงานในทุกเวอร์ชันของมีเดียวิกิ ใช้โปรแกรมส่วนขยายใด ๆ โดยเฉพาะอย่างยิ่งการติดแท็กเหล่านั้นที่ไม่ปลอดภัย ที่มีความเสี่ยงของคุณเอง When using an extension requiring patches to the core MediaWiki code or entries in your database(s), be sure to create a back-up of your database and/or the core MediaWiki code, to avoid the risk of permanently breaking your wiki.

Browsing extensions

You can browse Category:Extensions by category to see the full range of extensions that have already been written. For information on installing these extensions or writing your own, see below.

Checking installed extensions

Only someone with administration access to the filesystem (and often the database too) on a server can install extensions for MediaWiki, but anyone can check which extensions are active on an instance of MediaWiki by accessing the Special:Version page. For example, these extensions are active in the English Wikipedia.

Installing an extension

MediaWiki is ready to accept extensions just after installation is finished. To add an extension follow these steps:

  1. Before you start
    Many extensions provide instructions designed for installation using unix commands. You require shell access (SSH) to enter these commands listed on the extension help pages.
  2. Download your extension.
    Extension Distributor helps you to select and download most of the popular extensions.
    Extensions are usually distributed as modular packages. They generally go in their own subdirectory of $IP /extensions/. A list of extensions stored in the Wikimedia Git repository is located at git:mediawiki/extensions. Some extensions don't use version control and are not recommended.
    Some extensions are also available in bundles, composer or package repositories.
  3. Install your extension..
    Generally, at the end of the LocalSettings.php file (but above the PHP end-of-code delimiter, "?>", if present), the following line should be added:
    // mw.v 1.24.x or less
    require_once "$IP/extensions/extension_name/extension_name.php";
    // mw.v 1.25.x or above
    wfLoadExtension( '<extension-name>' );
    This line forces the PHP interpreter to read the extension file, and thereby make it accessible to MediaWiki.
    Some extensions can conflict with maintenance scripts, for example if they directly access $_SERVER (not recommended).
    In this case they can be wrapped in the conditional so maintenance scripts can still run.
//for mw.v 1.24.x or less
if ( !$wgCommandLineMode ) {
   require_once "$IP/extensions/extension_name/extension_name.php";
//for mw.v 1.25.x or above
if ( !$wgCommandLineMode ) {
   wfLoadExtension ( '<extension-name>' );
The maintenance script importDump.php will fail for any extension which requires customized namespaces which is included inside the conditional above such as Extension:Semantic MediaWiki , Extension:Semantic Forms .
Ensure that required permissions are set for extensions!
While this installation procedure is sufficient for most extensions, some require a different installation procedure. Check your extension's documentation for details.
If you want to alter configuration variables in LocalSettings.php, you have to do this typically after including the extension. Otherwise defaults defined in the extension will overwrite your settings.
  Caution: While extension declaration can be placed in other places within the LocalSettings.php file, never place extensions before the require_once "includes/DefaultSettings.php"; line for MediaWiki versions below 1.17 . Doing so will blank the extension setup function arrays, causing no extensions to be installed, and probably will make your wiki inaccessible until you fix it!

Upgrading an extension

Some extensions require to be updated whenever you update MediaWiki, while others work with multiple versions. To upgrade to a new version of an extension:

  1. Download the new version of the extension
  2. Replace all the extension files in the extension/ExtensionName directory with the new files. Do not remove the extension configuration present in LocalSettings.php
  3. Depending on the extension, you may have to run the Update.php maintenance script. Most extensions will mention if this script needs to be run or not. (Perform backup of your data before executing the script). If you don't have command line access, you can also use the web updater.
  4. That's all you need to do. In most cases any extension configuration you have in LocalSettings.php will also work with the newer version of the extension.
These instructions cover 99% of extensions. If the specific extension you are upgrading has instructions that differ from these, you should probably follow the specific extension's instructions

Uninstalling an extension

Extensions are added by adding a line to LocalSettings.php, which basically looks like this:

// mw.v 1.24.x or less
require_once "$IP/extensions/extension_name/extension_name.php";
// mw.v 1.25.x or above
wfLoadExtension( '<extension-name>' );
Depending on the extension you want to uninstall additionally other stuff might be done on installation, which you want to undo now. For details see the section on installing an extension.
  1. Remove this line and the extension is uninstalled. If you want to, you can (and if you do not want to use this extension in the future you should) remove the files of this extension inside the folder "extensions/".
  2. Maybe you also have some other lines in LocalSettings.php, which have to do with the extension you want to remove. Most likely this will be lines, which give certain users the right to access pages, which are provided by the extension. These lines contain the variable "$wgGroupPermissions" and make some settings there. As far as they have to do with rights, which come from the removed extension, you can remove these lines as well.
  3. Maybe your extension also has added columns to your database. The updater maintenance/update.php removes them, when you run it, after you have uninstalled the extension.

Developing extensions

This complex topic is handled on the developing extensions manual page.