Trick # 553 | Dieser Beitrag beinhaltet 756 Wörter. – Geschätzte Lesezeit: ca. 4 Minuten.
Möchten Sie die fortlaufende Beitragsnummer in der WordPress-Beitragsübersicht anzeigen lassen? Dieser Trick kann besonders hilfreich sein, wenn Sie Beiträge chronologisch analysieren oder organisieren möchten. In diesem Beitrag zeigen wir, wie Sie mit einer handlichen Funktion Beitragsnummern aufgrund des jeweiligen Veröffentlichungsdatums berechnen, in der Übersicht hinzufügen und die Backend-Spalte sortierbar machen.
Hier ist der komplette Code, den Sie in die Datei functions.php Ihres Themes einfügen können. Die Datei findet sich im Backend unter Design/Theme-Datei-Editor:
// Beitrags-# im Backend anzeigen
// Spalte zur Beitragsübersicht hinzufügen
function add_post_number_column($columns) {
$columns['post_number'] = 'Beitragsnummer';
return $columns;
}
add_filter('manage_posts_columns', 'add_post_number_column');// Inhalt für die Beitragsnummer-Spalte basierend auf dem Datum (alle Status)
function display_post_number_column($column_name, $post_id) {
if ($column_name == 'post_number') {
global $wpdb;// Veröffentlichungsdatum des aktuellen Beitrags abrufen
$post_date = get_post_field('post_date', $post_id);// Anzahl der Beiträge mit Datum kleiner oder gleich dem aktuellen Beitrag
$post_count = $wpdb->get_var(
$wpdb->prepare(
"SELECT COUNT(*) FROM $wpdb->posts
WHERE post_type = %s
AND post_date <= %s
AND post_status IN ('publish', 'future', 'draft', 'pending')",
'post',
$post_date
)
);echo $post_count;
}
}
add_action('manage_posts_custom_column', 'display_post_number_column', 10, 2);// Spalte sortierbar machen
function make_post_number_column_sortable($columns) {
$columns['post_number'] = 'post_number';
return $columns;
}
add_filter('manage_edit-post_sortable_columns', 'make_post_number_column_sortable');// Sortierfunktion für die Beitragsnummer basierend auf dem Datum
function sort_post_number_column($query) {
if (!is_admin() || !$query->is_main_query()) {
return;
}if ('post_number' === $query->get('orderby')) {
$query->set('orderby', 'date'); // Nach Datum sortieren
$query->set('order', 'ASC'); // In aufsteigender Reihenfolge
}
}
add_action('pre_get_posts', 'sort_post_number_column');Dieser kleine, aber wirkungsvolle Hack hilft zur besseren Kontrolle über Beiträge. Aber wir geben noch einen drauf:
Option: Beitragsnummer mittels Shortcode im Content anzeigen
Mit diesem Supplement können Sie die ermittelte Beitragsnummer auch im Content verwenden. Dazu fügen Sie einfach auch noch folgenden Code in Ihre Datei functions.php ein. Wie gehabt: Unter Design/Theme-Datei-Editor:
// Beitragsnummer mittels Shortcode im Content anzeigen
function shortcode_post_number($atts) {
global $wpdb;// Attribute mit Standardwerten definieren
$atts = shortcode_atts(
array(
'prefix' => 'Beitragsnummer', // Optionaler Text vor der Nummer
),
$atts,
'post_number'
);$post_id = get_the_ID();
if (!$post_id) {
return ''; // Rückgabe leer, wenn kein Beitrag geladen ist
}$post_date = get_post_field('post_date', $post_id);$post_count = $wpdb->get_var(
$wpdb->prepare(
"SELECT COUNT(*) FROM $wpdb->posts
WHERE post_type = %s
AND post_date <= %s
AND post_status IN ('publish', 'future', 'draft', 'pending')",
'post',
$post_date
)
);return $atts['prefix'] . ' ' . $post_count;
}
add_shortcode('post_number', 'shortcode_post_number');Auf Zeile 8 können Sie einen beliebigen Präfix eingeben – jener Text also, der vor der eigentlichen Postnummer erscheint.
Der Code befüllt den Shortcode [post_number] mit der entsprechenden Beitragsnummer. Den Shortcode können Sie also an gewünschter Stelle Ihres Contents hinschreiben.
Probieren wir es doch gleich mal aus: Dieser Post ist Trick # 553.
Funktioniert bestens!
Werbung


