Ú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ů.
-
AutorPříspěvky
-
2. září 2012 (20:11) #2060
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 . ‘” ANDdeleted
!= “2”‘ );$num_unread = $wpdb->get_var( ‘SELECT COUNT(*) FROM ‘ . $wpdb->prefix . ‘pm WHERE
recipient
= “‘ . $current_user->user_login . ‘” ANDread
= 0 ANDdeleted
!= “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
3. září 2012 (7:51) #12602Můž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.3. září 2012 (8:49) #12603Dí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ě).
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.