Rozděleno: Setings page pre šablónu

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Rozděleno: Setings page pre šablónu

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á 10 let, 2 měsíce.

Aktuálně jsou na stránce zobrazeny 4 příspěvky - 1. až 4. (z celkem 4)
  • Autor
    Příspěvky
  • #8989

    milosak
    Participant

    Ř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.

    #18475

    milosak
    Participant

    Zdraví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.

    #18496

    sjiamnocna
    Participant
    Web

    Moc 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 :)"
    }
    #18535

    admin
    Keymaster
    Web

    Také 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á?

Aktuálně jsou na stránce zobrazeny 4 příspěvky - 1. až 4. (z celkem 4)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.