A WordPress alapból rengeteg mindenre képes, de ha szükségünk van 1-2 egyedi funkcióra akkor sem kell pánikba esnünk mivel a WordPress nagyon könnyen bővíthető. Lássuk hogyan kell létrehozni egy egyszerű bővítményt ami megjeleníti az 5 legfrissebb bejegyzést.
Először is hozzunk létre egy mappát a wp-content/plugins/ mappában, bármilyen nevet adhatunk neki, a lényeg, hogy könnyen felismerjük, hogy melyik mappa melyik pluginhez tartozik. Én most teszt-nek neveztem el a bővítményem mappáját. Ez a mappánk 2 file-t fog tartalmazni:
- teszt.php
- admin-panel.php
A teszt.php lesz a bővítményünk fő vezérlője, ebben határozzuk meg, hogy mit is csinál pontosan a bővítményünk.
teszt.php
<?php
/**
* Plugin Name: Teszt WordPress bővítmény
* Plugin URI: http://php-programozas.info/
* Description: Ez egy teszt WordPress plugin
* Author: php-programozas.info csapat
* Version: 1.0
* Author URI: http://php-programozas.info/
*/
define( 'TESZT_PLUGIN_ID', 'teszt-wordpress-plugin' );
// létrehozunk 1 menüpontot a Beállítások alatt
function teszt_plugin_create_menu() {
add_options_page("Teszt WordPress bővítmény", "Teszt WordPress bővítmény", 1, TESZT_PLUGIN_ID, "teszt_admin");
}
// admin_menu hook-ra kapcsolódunk
add_action('admin_menu', 'teszt_plugin_create_menu');
function teszt_admin() {
// lekérjük az 5 legfrissebb bejegyzést
$posts = get_posts();
// pluginünk felületének betöltése
require( 'admin-panel.php' );
}
Látható, hogy a file elején található pár sor komment, ezek kötelező kommentek, a WordPress ezek alapján hozza létre a megfelelő felületet a Bővítmények menüpont alatt.

admin-panel.php
<div>
<h2>Teszt WordPress plugin</h2>
<table cellspacing="0">
<thead>
<tr>
<th>Cím</th>
<th>Létrehozva</th>
<th>Státusz</th>
<th>Szerkesztés</th>
<th>Megtekintés</th>
</tr>
</thead>
<tbody>
<?php foreach ( $posts as $post ) { ?>
<tr>
<td><?php echo $post->post_title; ?></td>
<td><?php echo $post->post_date; ?></td>
<td>
<?php
switch ( $post->post_status ) {
case 'publish': echo 'Közzétéve';break;
case 'draft': echo 'Vázlat';break;
case 'pending': echo 'Elfogadásra vár';break;
default: echo 'Ismeretlen';
}
?>
</td>
<td>
<a href="./post.php?post=<?php echo $post->ID; ?>&action=edit">Szerkeszt</a>
</td>
<td>
<a href="<?php echo get_permalink( $post->ID ); ?>">Megtekint</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
Ez a file felelős a bővítményünk megjelenésért, az alábbi kimenetet generálja nálam.

Próbáltam úgy létrehozni a bővítményt, hogy a lehető legkönnyebben szerkeszthető legyen, ezért van külön file-ban a megjelenítésért felelős rész. Elég sok WordPress bővítményben találkoztam azzal, hogy mindent egy file-ba ír a készítő és ezzel kaotikus PHP kódot hoz létre, próbáljuk ezt kerülni a saját munkánk megkönnyítése érdekében.