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.
4 válasz erre a témára
#1
Elküldve: 2012-01-31 - 23:54
#2
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:
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"
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
Elküldve: 2012-02-01 - 00:52
A te példád esetén így fog festeni a plugin:
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
<?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
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
Elküldve: 2012-02-01 - 13:10
Idé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ó













