úprava admin-bar.php – vlastní menu – Cannot modify header…

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem úprava admin-bar.php – vlastní menu – Cannot modify header…

Zvolené téma obsahuje celkem 2 odpovědi. Do diskuze (2 účastníci) se naposledy zapojil uživatel  Johnny a poslední změna je stará 11 let, 7 měsíců.

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

    Johnny
    Participant
    Web

    Zdravím,

    řeším nejspíš nějakého šotka:

    Snažil jsem ve WP dostat do horní lišty vlastní menu (kde uživatel může spravovat své soukromé zprávy) – na localhostu fungoval tento kód vložený do wp-includes/admin-bar.php bez problémů (http://pastebin.com/DqS1Ft6Q):

    add_action(‘admin_bar_menu’, ‘add_toolbar_items’, 100);

    function add_toolbar_items($admin_bar){

    // ziskani poctu zprav (vsechny + neprectene)

    global $wpdb, $current_user;

    $num_pm = $wpdb->get_var( ‘SELECT COUNT(*) FROM ‘ . $wpdb->prefix . ‘pm WHERE recipient = “‘ . $current_user->user_login . ‘” AND deleted != “2”‘ );

    $num_unread = $wpdb->get_var( ‘SELECT COUNT(*) FROM ‘ . $wpdb->prefix . ‘pm WHERE recipient = “‘ . $current_user->user_login . ‘” AND read = 0 AND deleted != “2”‘ );

    if ( empty( $num_pm ) ) {

    $num_pm = 0;

    }

    if ( empty( $num_unread ) ) {

    $num_unread = 0;

    $nazev = ‘Soukromé zprávy’;

    $titulek = ‘Žádné nové zprávy’;

    }

    else {

    $nazev = ‘Soukromé zprávy (‘ . $num_unread . ‘)’;

    $titulek = $num_unread . ‘nové zprávy’;

    }

    $admin_bar->add_menu( array(

    ‘id’ => ‘my-item’,

    ‘title’ => $nazev,

    ‘href’ => self_admin_url(‘/admin.php?page=rwpm_inbox’),

    ‘meta’ => array(

    ‘title’ => $titulek

    ),

    ));

    $admin_bar->add_menu( array(

    ‘id’ => ‘my-sub-item’,

    ‘parent’ => ‘my-item’,

    ‘title’ => ‘Odeslat zprávu’,

    ‘href’ => self_admin_url(‘/admin.php?page=rwpm_send’),

    ‘meta’ => array(

    ‘title’ => __(‘Odeslat zprávu’),

    ‘target’ => ‘_blank’,

    ‘class’ => ‘my_menu_item_class’

    ),

    ));

    $admin_bar->add_menu( array(

    ‘id’ => ‘my-second-sub-item’,

    ‘parent’ => ‘my-item’,

    ‘title’ => ‘Odeslané’,

    ‘href’ => self_admin_url(‘/admin.php?page=rwpm_outbox’),

    ‘meta’ => array(

    ‘title’ => __(‘Odeslané’),

    /* ‘target’ => ‘_blank’,*/

    ‘class’ => ‘my_menu_item_class’

    ),

    ));

    }

    Celý soubor admin-bar.php pak vypadá takto: http://pastebin.com/VmqVpR01

    Nicméně pak nastanou problémy a to konkrétně rozházení celé stránky nebo nenačtení některých článků, chyba:

    “Cannot modify header information – headers already sent by (output started at /data/web/virtuals/26080/virtual/www/domains/czechbattlefield.info/wp-includes/admin-bar.php:1) in /data/web/virtuals/26080/virtual/www/domains/czechbattlefield.info/wp-content/plugins/mingle-forum/wpf.class.php on line 1898”

    Jedná se o web http://www.czechbattlefield.info (Wedos)

    Sám tam žádné mezery nebo volné řádky nevidím, jak se často u této chyby radí, tak bych byl vděčný za radu. Děkuji

    #12602

    Lukenzi
    Participant

    Můžu vědět proč tuto úpravu nerealizujete přes plugin? Zasahování do systémových souborů není zrovna ideální.

    btw problém s mezerami nebo neviditelnými znaky za značkou ?> na konci souboru jednoduše vyřešíte tak, že tuto značku prostě smažete. Pokud za touto značkou v souboru již nic není můžete ji úplně vynechat.

    #12603

    Johnny
    Participant
    Web

    Díky za reakci.

    No jde mi o to, že to není statický text (title), ale ukazuje také případný počet nepřečtených zpráv (dotaz do databáze), což nevím, zda nějaký plugin umožní takovou úpravu – případně pokud byste měl nějaký tip? Momentálně používám ještě plugin Custom Admin Bar (nejčastější odkazy na liště).

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

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

WordPress – novinky, návody a zajímavosti