Úvodní stránka › Fórum podpory WordPressu › Problémy s WordPressem › Rozděleno: Setings page pre šablónu
Štítky: edit_theme_options, manage_options, Oprávnění
Zvolené téma obsahuje celkem 3 odpovědi. Do diskuze (3 účastníci) se naposledy zapojil uživatel admin a poslední změna je stará 11 let, 10 měsíců.
-
AutorPříspěvky
-
9. února 2014 (23:33) #8989
Řeším jinou věc. Používám toto nastavení:
add_action('admin_menu', 'about_create_menu'); function about_create_menu() { add_theme_page('Nastaveni vzhledu', 'Nastaveni vzhledu', 'edit_theme_options', 'theme_settings', 'about_settings_page'); add_action( 'admin_init', 'register_mysettings' ); } function register_mysettings() { register_setting( 'about-settings-group', 'about_code' ); } function about_settings_page() { ?> <div class="wrap"> <h2>Nastaveni vzhledu</h2> <form method="post" action="options.php"> <?php settings_fields('about-settings-group'); ?> <table class="form-table"> <tr valign="top"> <th scope="row">About</th> <td><textarea name="about_code"><?php echo get_option('about_code'); ?></textarea></td> </tr> </table> <p class="submit"><input type="submit" class="button-primary" value="<?php _e('Ulozit zmeny') ?>" /></p> </form></div> <?php } ?>Problém je v tom, že uživatelům, kteří nemají dostatečná práva se data neuloží a místo toho se jim zobrazí hláška “Nepodvádíte?”
Práva uživatelů mám definována ve functions.php. Mají zakázanou stránku “Nastavení” pomocí
'manage_options' => false, a díky tomu jim to nefunguje.Jak to udělat aby to fungovalo všem uživatelům a přitom stránka “Nastavení” pro ně zůstala skrytá? Díky.
23. dubna 2014 (13:36) #18475Zdravím. Vracím se k mému předchozímu příspěvku. Nevíte někdo jak formulář nastavit tak aby fungoval všem uživatelům a ne jen těm co mají plný přístup? Uživatelům, kteří mají stránku “Nastavení” zakázanou výše uvedené nastavení nefunguje. Předem díky všem za každou radu.
25. dubna 2014 (9:37) #18496Moc jsem nepochopil toto (trochu si to protimluví, ne? asi by bylo dobré určit co slovo “to” zastupuje):
Jak to udělat aby to fungovalo všem uživatelům a přitom stránka „Nastavení“ pro ně zůstala skrytá? Díky.
Nejsem si jistý, jestli je to tvůj problém, ale pokud chceš, aby stránka fungovala všem, změň edit_theme_options na read nebo jinou.
pokud chceš, aby v nabídce byla položka možností pro každého, jen pověřeným se zobrazila, můžeš zadat místo edit_theme_options read a na samotné stránce si to všechno zajisti podmínkou
if(current_user_can('edit_theme_options')){ //tvůj form }else{ echo"nemáte dostatečné oprávnění, zmizte :)" }30. dubna 2014 (23:14) #18535Také jsem to asi celé moc nepochopil…
Pokud máte u stránky s nastavením vzhledu šablony definované nejnižší uživatelské oprávnění
edit_theme_options, tak už nemusíte nikde omezovat oprávněnímanage_options? Obě tato oprávnění jsou dostupná jen pro administrátory, takže asi není třeba nic dodatečně řešit.A jak mají uživatelé vyplňovat formulář, když pro ně zůstane stránka s formulářem skrytá? Když bude skrytá, tak ho přece neuvidí a nemohou ho ani vyplnit? Nebo mi něco důležitého uniká?
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.