WordPress-Plugin entwickeln (HowTo)

Aus wiki.sehanka.de
Version vom 1. September 2021, 15:03 Uhr von 77.191.15.18 (Diskussion) (→‎Einstieg in die Plugin Entwicklung)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Arbeitsschritte[Bearbeiten]

Schritt 1: Plugin anlegen[Bearbeiten]

  • unter "wp-content/plugins/" einen Ordner mit dem Namen des Plugins anlegen, z. B. "my-plugin"
  • im Ordner eine php-Datei anlegen, z. B. "my-plugin.php"
<?php

/**
 *Plugin Name: My Plugin
 *Description: Management/Display Plugin for Projects.
 **/
  • danach ist das Plugin im WordPress Backend unter Plugins sichtbar

Schritt 3: ggf. Custom Post Types registrieren[Bearbeiten]

WordPress Custom Post Types registrieren (HowTo)

Schritt 4: Plugin-Menü anlegen oder erweitern[Bearbeiten]

4a) Struktur für eigenes Plugin-Menü anlegen[Bearbeiten]

Plugin-Unterseiten anlegen[Bearbeiten]

  • in "wp-content/plugins/my-plugin" einen Ordner "views" anlegen
  • im Ordner views drei PHP-Dateien anlegen, z. B.:
    • all-custom-post-types.php
    • usage.php
    • settings.php
<?php
defined( 'ABSPATH' ) or die();

?>

<h2>Alle Custom Posts</h2>

<div>
    <p>Das scheint zu funktionieren!</p>
</div>

Plugin Menü im Backend anzeigen[Bearbeiten]

  • in der Datei "wp-content/plugins/my-plugin.php" Menüstruktur anlegen
function my_plugin_test_admin_menu_option() {
    add_menu_page(
        'My Plugin',
        'My Plugin',
        'manage_options',
        'my-plugin-test-admin-menu',
        function() {},
        'dashicons-location-alt',
        3 );

    add_submenu_page(
        'my-plugin-test-admin-menu',
        'Alle Datensätze',
        'Alle Datensätze',
        'manage_options',
        'my-plugin-test-admin-menu',
        function() {
            include 'views/all-custom-post-types.php';
        });

    add_submenu_page(
        'my-plugin-test-admin-menu',
        'Nutzungshinweise',
        'Nutzungshinweise',
        'manage_options',
        'project_usage_page',
        function() {
            include 'views/usage.php';
        });

    add_submenu_page(
        'my-plugin-test-admin-menu',
        'Einstellungen',
        'Einstellungen',
        'manage_options',
        'project_settings_page',
        function() {
            include 'views/settings.php';
        });

}

add_action( 'admin_menu', 'my_plugin_test_admin_menu_option' );

4b) Bestehendes Menü erweitern[Bearbeiten]

in bestehenden WordPress Modulen integrieren[Bearbeiten]

  • "show_in_menu"-Argument in $args-Array (Voraussetzung: "show_ui" muss Wert "true" haben)
    • ‘false’ – do not display in the admin menu
    • ‘true’ – display as a top level menu
    • ‘some string’ für eine existierende Top Level Page, z.B.
      • ‘tools.php’ für Werkzeuge-Menü
      • ‘edit.php?’ für Beiträge-Menü
      • ‘edit.php?post_type=page’ für Seiten-Menü

in bestehenden Custom Post Type integrieren[Bearbeiten]

/**
 * Menü um zwei Unterpunkte erweitern
 */

function product_admin_menu_option() {
    add_submenu_page(
        'edit.php?post_type=product',
        'Nutzungshinweise',
        'Nutzungshinweise',
        'manage_options',
        'product-usage-page',
        'product_usage_page_callback'
    );

    add_submenu_page(
        'edit.php?post_type=product',
        'Optionen',
        'Optionen',
        'manage_options',
        'product-options-page',
        'product_options_page_callback'
    );

}

function product_usage_page_callback() {
    include 'views/usage.php';
}

function product_options_page_callback() {
    include 'views/settings.php';
}

https://wordpress.org/support/topic/custom-post-types-in-admin-menu/

Schritt 4: Templates entwickeln[Bearbeiten]

WordPress Templates entwickeln (HowTo)

Quellen[Bearbeiten]

Einstieg in die Plugin Entwicklung[Bearbeiten]

Shortcodes

Video

Eigene Datenbank[Bearbeiten]

Video


Tabellen im WordPressstyle[Bearbeiten]