Kategorien
WordPress

Entwürfe unter „Link einfügen“ anzeigen

Eines meiner „Alltäglichen Hürden“ mit WordPress ist es, Links zu Seiten/Beiträgen/CPTs zu setzen, welche den Status „Entwurf“ noch haben. Dies konnte ich auch schon gestern lösen.

Links in Beiträgen, Seiten und anderen Inhaltstypen kann man über den Editor simpel einfügen. Es können sowohl externe Links über eine manuelle Eingabe, als auch interne Links über eine Auswahl hinzugefügt werden.

Bei der internen Verlinkung hat man die Möglichkeiten auf Beiträgen, Seiten oder eigene Inhaltstypen (Custom Post Type; kurz: CPT) über eine Auswahl mit Suche mit einem einfachen Klick zu verlinken. Neben veröffentlichten Inhalten können auch geplante Beiträge ausgewählt werden. Bei einem CPT steht sogar noch der Name des Inhaltstypen dabei.

Das Einzige, was hier noch fehlt, ist die Auflistung von Inhalten mit dem Status „Entwurf“ (engl. Draft). Der Grund hierfür ist unter anderem die Handhabung solcher Inhalte. So ist ein geplanter Beitrag schon fertig und ein Entwurf halt ein Entwurf und kann sich von der Definition her auch noch stark ändern. Deswegen sind die Permalinks zu Entwürfen auch immer die Post-ID.

In meinem Fall verwende ich Entwürfe, um Beiträge zu planen, bzw. den Titel hierfür im Vorfeld festzulegen. Aus Bequemlichkeit würde ich jedoch schon in passenden Beiträgen den Link einfügen – auch wenn es den Inhalt noch nicht gibt.

Dieser Beitrag existiert hier auch nur, weil ich eine Lösung gefunden habe. Noch nicht zu 100% zufriedenstellend, jedoch ein guter Ansatz.

Entwürfe unter „Links einfügen“

Folgenden Code habe ich in meine functions.php hinzugefügt.

<?php
function apsfal_post_status_filter ($query) {
	$types = $query['post_type'];
	if (($key = array_search ('attachment', $types)) !== false) {
		unset ($types[$key]);
	}
	
	$query['post_status'] = array ('publish','draft');
	$query['post_type'] = $types;
	
	return $query;
}

add_filter ('wp_link_query_args', 'apsfal_post_status_filter');

Der Code kommt von einem Plugin, welches ich gleich noch vorstelle und wurde von mir marginal angepasst.

Edit: Natürlich muss es $query['post_status'] = array ('publish','draft'); anstatt $query['post_status'] = 'draft';  heißen.

Plugin: All Post Statuses for Add Link

Dieses Plugin von Dave Clements macht genau das, was der Titel auch aussagt. Es werden alle Status in „Link hinzufügen“ hinzugefügt und können So in Postings eingesetzt werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.