Ankerlink an den Anfang der Seite
mixer 2062006 1920
Generic filters
Filter by Kategorien

Der Beitrag, geschriebem am 25. Juli 2017, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein

Die Funktion flxo_has_archive ermittelt, ob der abgefragte Inhaltstyp ein Archive hat. Die Abfrage ist auch auf andere boolsche Post Type-Argumente anwendbar.

/**
 * returns true if post_type has archive
 */
function flxo_has_archive( $post_type ) {
	$obj = get_post_type_object( $post_type );	
	return isset( $obj->has_archive ) && $obj->has_archive === 1 ? true : false;
}

Array aller öffentlichen Inhaltstypen ausgeben (inklusive Seiten)

function flxo_get_public_post_types() {
		
    $args = array(
        'public' => true
    );		
	
    $post_types = get_post_types( $args, 'objects' ); 

    foreach ( $post_types as $post_type ) {
	$items[$post_type->name] = $post_type->label;
    }	
	
    return $items;	
	
}

Array aller öffentlichen Inhaltstypen exklusive Seiten

function flxo_get_publicly_queryable_post_types() {
		
    $args = array(
        'public'  => true,
        'publicly_queryable'  => true // like posts but not like pages
    );		
	
    $post_types = get_post_types( $args, 'objects' ); 

    foreach ( $post_types as $post_type ) {
	$items[$post_type->name] = $post_type->label;
    }	
	
    return $items;	
	
}

Post Type Objekt ausgeben

echo '<pre><h3>Post Type Object</h3>';
print_r( get_post_type_object( $post_type ) );
echo '</pre>';

Gibt die Labels und Paramter eines Post Types aus.

Post Type Object
WP_Post_Type Object
(
    [name] => publicwiki
    [label] => Wiki
    [labels] => stdClass Object
        (
            [name] => Wiki
            [singular_name] => Wiki
            [add_new] => Erstellen
            [add_new_item] => Neue Seite erstellen
            [edit_item] => Seite bearbeiten
            [new_item] => Neue Seite
            [view_item] => Seite ansehen
            [view_items] => Seiten ansehen
            [search_items] => Seiten durchsuchen
            [not_found] => Keine Seiten gefunden.
            [not_found_in_trash] => Keine Seiten im Papierkorb gefunden.
            [parent_item_colon] => Übergeordnete Seite:
            [all_items] => Wiki
            [archives] => Wiki
            [attributes] => Seiten-Attribute
            [insert_into_item] => In die Seite einfügen
            [uploaded_to_this_item] => Zu dieser Seite hochgeladen
            [featured_image] => Beitragsbild
            [set_featured_image] => Beitragsbild festlegen
            [remove_featured_image] => Beitragsbild entfernen
            [use_featured_image] => Als Beitragsbild nutzen
            [filter_items_list] => Seitenliste filtern
            [items_list_navigation] => Navigation der Seitenliste
            [items_list] => Seitenliste 
            [menu_name] => Wiki
            [name_admin_bar] => Wiki
        )

    [description] => 
    [public] => 1
    [hierarchical] => 1
    [exclude_from_search] => 
    [publicly_queryable] => 1
    [show_ui] => 1
    [show_in_menu] => 1
    [show_in_nav_menus] => 1
    [show_in_admin_bar] => 1
    [menu_position] => 
    [menu_icon] => 
    [capability_type] => page
    [map_meta_cap] => 1
    [register_meta_box_cb] => 
    [taxonomies] => Array
        (
        )

    [has_archive] => 
    [query_var] => publicwiki
    [can_export] => 1
    [delete_with_user] => 
    [_builtin] => 
    [_edit_link] => post.php?post=%d
    [cap] => stdClass Object
        (
            [edit_post] => edit_page
            [read_post] => read_page
            [delete_post] => delete_page
            [edit_posts] => edit_pages
            [edit_others_posts] => edit_others_pages
            [publish_posts] => publish_pages
            [read_private_posts] => read_private_pages
            [read] => read
            [delete_posts] => delete_pages
            [delete_private_posts] => delete_private_pages
            [delete_published_posts] => delete_published_pages
            [delete_others_posts] => delete_others_pages
            [edit_private_posts] => edit_private_pages
            [edit_published_posts] => edit_published_pages
            [create_posts] => edit_pages
        )

    [rewrite] => Array
        (
            [slug] => wiki
            [with_front] => 
            [pages] => 1
            [feeds] => 
            [ep_mask] => 1
        )

    [show_in_rest] => 
    [rest_base] => 
    [rest_controller_class] => 
)

Parameter eines Post Types ändern

function flxo_custom_post_type_args( $args, $post_type ) {
    if ( $post_type == 'custom-type' ) {
        $args['has_archive'] = true;
        $args['rewrite'] = array(
              'slug' => 'custom-slug'
        );

    }

    return $args;
}
add_filter( 'register_post_type_args',  'flxo_custom_post_type_args', 20, 2 );

Bitte das Kommentarfeld nicht für Supportanfragen nutzen; hier kann kein Support angeboten werden. Die Angabe von Name oder E-Mail-Adresse ist optional, ein Spitzname wäre trotzdem nett.

Schreibe einen Kommentar

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

Hinweis: Name und E-Mail-Adresse (beides optional, da alle Kommentare moderiert werden) werden dauerhaft gespeichert. Über dieses Formular kann jeder Zeit die Löschung persönlicher Daten oder Kommentare angefordert werden; die Anfrage wird nicht veröffentlicht und nach der Bearbeitung gelöscht. IP-Adressen, die mit Kommentaren gespeichert werden, werden nach zwei Monaten automatisch gelöscht.

Ihre Nachricht wird möglicherweise zur Spam-Prüfung an OpenAI (USA) weitergeleitet. Weitere Informationen finden Sie in unserer Datenschutzerklärung.