WordPress – własne akcje dla wpisów w panelu administracyjnym

Dzięki pluginom platforma WordPress pozwala na rozszerzenie możliwości systemu. W tym  wpisie zaprezentuję w jaki sposób dodać własne akcje dla wpisów i stron w panelu administracyjnym.

W sekcji Wpisy w panelu administracyjnym WordPressa po najechaniu kursorem myszy na wiersz z tytułem wpisu wyświetla się nam menu akcji. Domyślnie mamy dostęp do akcji Edytuj, Szybka edycja, Kosz, Zobacz. Dzięki mechanizmowi wtyczek możemy dodać własne akcje do tej listy.

WordPress oferuje dwa filtry umożliwiające dodanie akcji do menu: post_row_actionspage_row_actions. Filtr post_row_actions pozwala na dodanie akcji do menu dla wpisów, natomiast page_row_actions dla stron.

Tworzymy zatem plugin dodający własną akcję do menu dla wpisów. Przykładowy kod takiej wtyczki:

add_filter('post_row_actions', 'my_action', 10, 2);
 
function my_action ( $actions, $post ) {
    $actions['my_action'] = '<a href=\''.admin_url('?action=my_action&post='.$post->ID).'\' target=\'_blank\'>Moja akcja</a>';
    return $actions;
}

 
Najpierw do zaczepu dla filtru post_row_actions podpinamy funkcję my_action. Funkcja przyjmuje dwa parametry – tablicę akcji oraz obiekt aktualnego wpisu. W związku z tym jako 4 parametr funkcji add_filter przekazuje 2. Jako trzeci parametr przekazujemy priorytet – tutaj 10. W funkcji dodajemy do tablicy $actions klucz my_action. Jako wartość elementu przekazujemy link, w którym jako parametr action przekazujemy nazwę własnej akcji (my_action) oraz jako parametr post identyfikator wpisu.

 
Teraz musimy przygotować kod do obsługi akcji. Przykład takiego kodu:

add_action('admin_init','my_post_action');
 
function my_post_action() {
	if($_GET['action'] == 'my_action') {
            echo 'test';
            exit;
        }
}

Do akcji admin_init podpinamy funkcję my_post_action, która obsłuży naszą nową akcję. W funkcji my_post_action rozpoznajemy wartości przekazane w adresie URL i jeżeli przekazany w linku parametr action będzie równy my_action zostanie wykonany kod naszej akcji.

Ten wpis został opublikowany w kategorii Bez kategorii. Dodaj zakładkę do bezpośredniego odnośnika.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *