Administrations-Menü auf der Blog-Startseite

Man hat als Blogger ja eigentlich immer was zu tun, und da ist es dann von Vorteil, wenn man alle wichtigen Funktionen direkt auf der Startseite im Zugriff hat.
admin.JPG
Bei Michael vom Software-Guide Blog habe ich eine Lösung gefunden, die ich jetzt in meinen integriert habe. Wichtig ist für mich bei dieser Lösung, dass kein notwendig ist.
Edit 06.07. habe ich den Code von Michael erneuert!

1. Rückmeldung der richtigen Zahl.
in die function.php des aktuellen Themes wird folgender Code eingefügt.


/*********************************************
* Function: mw_getQty
* Purpose: Determines the number of blog posts, number of comments, etc.
* Input: $type: Typ
* $int: TRUE wenn Rückgabe als Integer, FALSE wenn Rückgabe als
* String mit Punkt als Tausender-Trennzeichen, z.B. 17.365
* Output: Integer oder String, je nach number format
**********************************************/
<?php function mw_getQty($type='posts', $int=false) {
global $wpdb;
switch ($type) {
case 'posts':
$query = " SELECT COUNT(*)
FROM $wpdb->posts
WHERE post_status = 'publish'
AND post_date < '" . current_time('mysql') . "'";
break;
case 'comments_appr':
$query = " SELECT COUNT(*)
FROM $wpdb->comments
WHERE comment_approved = '1'";
break;
case 'comments_awaitmod': // Number of comments awaiting moderation
$query = " SELECT COUNT(*)
FROM $wpdb->comments
WHERE comment_approved = '0'";
break;
case 'comments_spam': // Number of comments spam
$query = " SELECT COUNT(*)
FROM $wpdb->comments
WHERE comment_approved = 'spam'";
break;
}
$result = $wpdb->get_var($query);
if ($int === false) {
return number_format($result, 0, ',', '.');
} else {
return intval($result);
}
}
?>

2. Nun wird, wenn man als Administrator eingeloggt ist, die Admin-Bar an die richtige Stelle eingefügt.
Dies habe ich direkt in der index.php unterhalb von gemacht


<!---Start: Admin-Bar--->
<?php
global $user_ID;
get_currentuserinfo();
if ($user_ID) {
echo '<div id="admin-menu">' . "\n";
echo '<ul>' . "\n";
echo '<li><a title=" Administration" href="' . get_settings('siteurl') . '/wp-admin/">' . __('Administration') . '</a></li>';
echo '<li><a title="Write new post" href="' . get_settings('siteurl') . '/wp-admin/post-new.php">' . __('Write Post') . '</a></li>';
echo '<li><a href="' . get_settings('siteurl') . '/wp-admin/edit.php">' . __('Posts') . ' (' . mw_getQty('posts') . ') </a></li>';
echo '<li><a href="' . get_settings('siteurl') . '/wp-admin/edit-comments.php">' . __('Comments') . ' (' . mw_getQty('comments_appr') . ') </a></li>';
echo '<li><a href="' . get_settings('siteurl') . '/wp-admin/moderation.php">' . __('Comment Moderation') . ' (' . mw_getQty('comments_awaitmod') . ') </a></li>';
if (function_exists('akismet_init'))
echo '<li><a href="' . get_settings('siteurl') . '/wp-admin/edit-comments.php?page=akismet-admin">Akismet Spam (' . mw_getQty('comments_spam') . ')</a></li>';
echo '<li><a href="' . get_settings('siteurl') . '/wp-login.php?action=logout&amp;redirect_to=' . $_['REQUEST_URI'] . '">&raquo; ' . __('Logout') . '</a></li>';
echo '</ul>' . "\n";
echo '</div> <!-- admin-menu -->' . "\n";
}
?>
<!---Ende: Admin-Bar--->

3. Die Einbundung des in die Style.css des Themes
Da sollte natürlich jeder seine Anpassungen machen.

/* Admin Menue
--------------------------------------------------*/
#admin-menu {
border: 1px solid #aaa;
background-color: #A3C159;
font-family: Arial, Helvetica, sans-serif; font-size: .9em;
}
#admin-menu ul {
list-style: none;
}
#admin-menu ul li {
background: none; display: inline; color: white; padding: 0;
}
#admin-menu a:link, #admin-menu a:visited {
color: white;
}

Für mich ist diese von Michael vorgestellt und von mir erweiterte Lösung, der ideale Weg um möglichst schnell in meinem Blog zu arbeiten.
Sollte Euch noch irgendetwas auffallen, dann lasst es mich wissen.

4 Gedanken zu „Administrations-Menü auf der Blog-Startseite

  1. Ich hab eben unter der oben verlinkten Seite den Code aktualisiert, damit sollte nun auch Akismet usw. funktionieren.

  2. Ist euch aufgefallen, dass die Posts auch die Seiten mitzählen? Kann man dies irgendwie umgehen und evtl. die Anzahl der Seiten einzeln abfragen?

Kommentare sind geschlossen.