WordPress-Plugin entwickeln (HowTo): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 16: | Zeile 16: | ||
* danach ist das Plugin im WordPress Backend unter Plugins sichtbar | * danach ist das Plugin im WordPress Backend unter Plugins sichtbar | ||
== Schritt | == Schritt 4: Plugin-Menü anlegen oder erweitern == | ||
=== 4a) Struktur für eigenes Plugin-Menü anlegen === | |||
==== Plugin-Unterseiten anlegen ==== | |||
* in "wp-content/plugins/my-plugin" einen Ordner "views" anlegen | * in "wp-content/plugins/my-plugin" einen Ordner "views" anlegen | ||
* im Ordner views drei PHP-Dateien anlegen, z. B.: | * im Ordner views drei PHP-Dateien anlegen, z. B.: | ||
| Zeile 37: | Zeile 40: | ||
</pre> | </pre> | ||
=== Plugin Menü im Backend anzeigen === | ==== Plugin Menü im Backend anzeigen ==== | ||
* in der Datei "wp-content/plugins/my-plugin.php" Menüstruktur anlegen | * in der Datei "wp-content/plugins/my-plugin.php" Menüstruktur anlegen | ||
| Zeile 98: | Zeile 89: | ||
add_action( 'admin_menu', 'my_plugin_test_admin_menu_option' ); | add_action( 'admin_menu', 'my_plugin_test_admin_menu_option' ); | ||
</pre> | </pre> | ||
=== 4b) Bestehendes Menü erweitern === | |||
==== in bestehenden WordPress Modulen integrieren ==== | |||
* "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 ==== | |||
<pre> | |||
/** | |||
* 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'; | |||
} | |||
</pre> | |||
https://wordpress.org/support/topic/custom-post-types-in-admin-menu/ | |||
== Schritt 3: Custom Post Types registrieren == | == Schritt 3: Custom Post Types registrieren == | ||
Version vom 28. Juni 2021, 13:26 Uhr
Arbeitsschritte
Schritt 1: Plugin anlegen
- 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 4: Plugin-Menü anlegen oder erweitern
4a) Struktur für eigenes Plugin-Menü anlegen
Plugin-Unterseiten anlegen
- 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
- 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
in bestehenden WordPress Modulen integrieren
- "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
/**
* 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 3: Custom Post Types registrieren
WordPress Custom Post Types registrieren (HowTo)