Post-ID unter WordPress ermitteln

Manchmal wird die Post-ID einer Seite unter WordPress benötigt. Dann stellt sich die Frage, wie diese ID ermittelt werden kann? Wenn die ID Teil des Permalinks ist, so kann sie einfach anhand der URL ermittelt werden.

Die Post-ID spiegelt sich im Permalink wieder

Bei Beiträgen funktioniert diese Variante in vielen Fällen, bei Seiten wird dies schwieriger. Um die Post-ID einer beliebigen Seite oder eines Beitrages zu ermitteln, muss diese im WordPress-Backend bearbeitet werden. Dort findet sich in der Adressleiste eine URL nach folgendem Schema:

https://seeseekey.net/wp-admin/post.php?post=125008&action=edit

Der Wert hinter dem Parameter post spezifiziert die Post-ID, welche somit ermittelt wurde.

WordPress-Suchwidget auf bestimmte Post Types beschränken

Für eine WordPress-Installation war ich auf der Suche nach einer Möglichkeit die Suche bzw. im Speziellen das Suchwidget so zu beschränken das nur die Post Types page und post durchsucht und angezeigt werden. Möglich ist dies, indem ein Filter für pre_get_posts in die functions.php des Themens hinzugefügt wird:

function search_only_in_specific_post_types( $query ) {
	
  // Modify query (but only in frontend)
  if ( $query->is_search && is_admin() == false ) {
    $query->set( 'post_type', array( 'page','post') );
  }
	
  return $query;
}

add_filter( 'pre_get_posts', 'search_only_in_specific_post_types' );

Der Filter passt die Query an, wenn die Query für eine Suche genutzt wird und diese Nutzung aus dem Frontend heraus geschieht. Die Begrenzung auf des Frontend ist notwendig um keine Suchqueries im Backend zu stören. Damit würde die modifizierte Suche nur noch Dokumente mit dem Post Type page und post finden.

Quellcode-Formatierung unter WordPress

Wenn Quelltext in einem WordPress-Beitrag untergebracht wird, so ist dieser in einem pre-Block meist relativ unansehnlich. Im Plugin-Verzeichnis existieren für dieses Problem eine Reihe von Plugins, welche sich der Codeformatierung annehmen.

Mithilfe einer modifizierten Version der Google-Bibliothek code-prettify wird der Quelltext eingefärbt

Problematisch an diesen Plugins ist allerdings, dass der Nutzer in meisten Fällen alle Beiträge entsprechend anpassen muss. Bei einigen Beiträgen mag dies noch funktionieren, aber bei einigen tausenden Beiträgen ist dies relativ unpraktisch. Abhilfe schafft hier das Plugin Code Prettify von Kaspars Dambis.

Code Prettify
Preis: Kostenlos

Mithilfe einer modifizierten Version der Google-Bibliothek code-prettify wird der Quelltext eingefärbt. Alle pre-Blöcke werden entsprechend behandelt und dies führt zu einem ansehnlicheren Quelltext:

public int doFooBar() {
    int prime = generatePrime();
    return prime * 3.14;
}

Die Entwicklung des Plugins findet auf GitHub statt. Lizenziert ist Code Prettify unter der Apache License in der Version 2 und damit freie Software.

WordPress-Beiträge und Seiten in Markdown umwandeln

Im letzten Jahr schrieb ich über ein Tool mit welchem die WordPress-Export-Datei in Markdown exportiert werden kann. Da das Tool einige Probleme mit bestimmten Konstellationen von Beiträgen hatte, habe ich ein eigenes Tool mit dem Namen WordPress2Markdown geschrieben. Dieses nimmt die Export-Datei, eine WordPress eXtended RSS (WXR)-Datei, entgegen und wandelt Posts und Pages in Markdown um. Ein beispielhafter Aufruf könnte dabei wie folgt aussehen:

java -jar WordPress2Markdown.jar -i wordpress-export.xml -s DATETIME -o /home/seeseekey/MarkdownExport

Der Quelltext findet sich auf GitHub zu finden und ist unter der GPL3 lizenziert. Dort findet sich ebenfalls ein entsprechendes Release.

Theme und Plugins einer WordPress-Installation ermitteln

WordPress ist einer der meistgenutzten Content-Management-Systeme unserer Zeit. Wenn WordPress für die eigenen Webseiten und Projekte genutzt wird, kann es manchmal von Interesse sein herauszufinden, welche Themes und Plugins andere WordPress-Seiten nutzen. Mit Hilfe des WP-ThemeDetector ist genau so etwas möglich.

Neben dem Theme können auch genutzte Plugins ermittelt werden

Nach der Eingabe der gewünschten Ziel-URL, versucht der WP-ThemeDetector zu ermitteln, welches Theme und welche Plugins auf der Seite verwendet werden. Für das Theme werden die Informationen aus der style.css-Datei des Themes extrahiert. Bei Plugins werden deren Spuren im Quelltext ausgewertet. Dies führt bei den Plugins dazu das nicht alle Plugins ermittelt werden können, da manche Plugins nur im Backend wirken oder keine größeren Spuren im Quelltext der Seite hinterlassen. Der WP-ThemeDetector ist unter wpthemedetector.com zu finden.