WordPress plugin létrehozás

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.

WordPress plugin készítés 1

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.

WordPress plugin készítés 2

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.