Ugrás a tartalomhoz


Új menüpont hozzáadása egy saját pluginhoz

plugin menü

  • Nem szólhatsz hozzá ehhez a témához.
4 válasz erre a témára

#1 oaron

    Újonc

  • Regisztrált tag
  • Pipa
  • 9 Hozzászólás:
  • Település:Budapest

Elküldve: 2012-01-31 - 23:54

Sziasztok!
Azt hiszem kezdem feladni ama próbálkozásomat hogy wp plugint készítsek. Talátam egy jó leírást a hivatalos wordpress honlapon egy új menüpont hozzáadásáról:
http://codex.wordpre...Menus#Sub-Menus
A leírás alapján létrehoztam egy nagyon egyszerű függvényt, és egy menüpontot, de valami mégsem működik, mert parse errorral elszáll. Mi lehet a hiba?
function uj_kateg()
{
print "<H2>Teszt</H2>";
}
add_menu_page('teszt', 'teszt oldal', 'manage_options', 'my-top-level-handle', 'uj_kateg');

A hibaüzenet pedig a következő: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in verseny.php on line 16 (ami az idézett kód utolsó sora)
Van valakinek valami ötlete hogy mi lehet a hiba? Biztos én csinálok valamit rosszul, nehezen tudom elképzelni hogy maga a leírás lenne rossz.

#2 Lőrincz András

    Új Tag

  • Regisztrált tag
  • PipaPipa
  • 88 Hozzászólás:
  • Település:Budapest

Elküldve: 2012-02-01 - 00:40

Ez így nem jó, mert kell egy add_action is, majd utána jöhetnek a függvények:

pl:

add_action('admin_menu', 'proba_menu');
function proba_menu() {
add_menu_page('Az oldal CÍME', 'ÚJ menüpont neve', 'manage_options', 'ez_lesz_az_url_neve', 'proba_options');
}
function proba_options(){
echo 'teszt';
}

1. az add action ->itt rendelhetsz egy ADOTT eseményhez egy függvényt ->. Amelynek le kell futnia.
2. function proba_menu() -> ezt a függvény fog meghívódni, amikor belépsz az adminisztrációs felületre, (add_action -ban van paraméterként)
Itt adod meg a menüpont nevét, címét, slug-ot és végül rendelsz hozzá egy függvényt is, ami majd meghívódik, amikor rákattintanak (proba_options)

3. A function proba_options() -függvény fut le, amikor rákattintasz az új menüdre...ugye ezt adtuk mehg az add_menu_page utolsó paramétereként

Tehát ha rákattintasz az új menüre akkor kiírja: "teszt"

#3 Lőrincz András

    Új Tag

  • Regisztrált tag
  • PipaPipa
  • 88 Hozzászólás:
  • Település:Budapest

Elküldve: 2012-02-01 - 00:52

A te példád esetén így fog festeni a plugin:

<?php
/*
Plugin Name: blabla
Plugin URI: valama.hu
Description: almenu próba
*/

add_action('admin_menu', 'proba_menu');
function proba_menu() {
add_menu_page('teszt', 'teszt oldal', 'manage_options', 'my-top-level-handle', 'uj_kateg');
}
function uj_kateg()
{
print "<H2>Teszt</H2>";
}
?>

Látom, verseny.php t ír ki, tehát a plugins könyvtárba kell egy verseny könyvtár, és abban legyen a verseny.php

#4 oaron

    Újonc

  • Regisztrált tag
  • Pipa
  • 9 Hozzászólás:
  • Település:Budapest

Elküldve: 2012-02-01 - 09:46

Köszi szépen, így már ragyogóan működik. :) Jól sejtem, hogyha a létrehozott főmenühöz almenüket szeretnék hozzáadni az ugyanezen az elven működik, csak értelemszerűen más függvényt kell használjak?

#5 Lőrincz András

    Új Tag

  • Regisztrált tag
  • PipaPipa
  • 88 Hozzászólás:
  • Település:Budapest

Elküldve: 2012-02-01 - 13:10

Üzenet megtekintéseIdézés: oaron - Dátum: 2012-02-01 - 09:46

....csak értelemszerűen más függvényt kell használjak?

Igen. A legelső hozzászólásodban lévő link pont olyan oldalra vezet, ahol láthatóak ezek a függvények. Így ha almenüt szeretnél, akkor add_submenu_page() függvényt kell használni.

Az a lényege, hogy az add_submenu_page() függvény első paramétere határozza meg, hogy melyik menüpont alá kerüljön az almenü.

Vagy betehetsz meglévő menübe is almenüt, csak az első paraméterben kell megmondani, hová szeretnéd. (parent_slug, azaz a szülő menüpont url je kerül ide)

Pl: az eszközök menüpont alá egy új menü:

<?php
/*
Plugin Name: blabla
Plugin URI: valama.hu
Description: almenu próba
*/

add_action('admin_menu', 'proba_menu');
function proba_menu() {
add_submenu_page( 'tools.php', 'Page title', 'Almenü neve', 'manage_options', 'almenu_url', 'almenufuggveny');
}
function almenufuggveny()
{
print "Eszközök új menü";
}
?>

Itt a parent slug a tools.php, ez a fájl szolgálja ki a menüt. De ha rákattintasz az eszközök menüre, akkor látod is, hogy a vége: tools.php. Tehát ilyen rákattintással már meg lehet állapítani, hogy mi kell az add_submenu_page első paraméterébe, ha új almenüt veszel fel az egyik meglévő alá.

Ott a WP oldalán is felsorolják: (angolul van, de azért értehtő)

For Dashboard: add_submenu_page('index.php',...)
For Posts: add_submenu_page('edit.php',...)
For Media: add_submenu_page('upload.php',...)
...






1 felhasználó olvassa ezt a témát.

0 felhasználó, 1 vendég, 0 anonim felhasználó