webentwicklung-frage-antwort-db.com.de

Standardposttyp und -kategorie ändern/löschen?

Ich entwickle eine Website mit 3 verschiedenen Beitragstypen und 4 verschiedenen Taxonomien, um die Beiträge unter zu speichern.

Der Standardposttyp und die Standardpostkategorien werden in dieser Vorlage nicht verwendet. Da viele Autoren mit WordPress nicht sehr vertraut sind und wir sie nicht immer kontrollieren können, möchte ich die Kategorien und den Standardpost von ihnen löschen, ändern oder zumindest verbergen. Sie müssen es also unter einem benutzerdefinierten Typ veröffentlichen.

Beispielsweise erstellt jemand einen neuen Beitrag unter dem Typ "Breaking News" und weist ihn der Taxonomie News zu. Dieser Beitrag wird keiner Kategorie zugeordnet (nicht kategorisiert).

Wenn er dies als normalen Beitragstyp veröffentlicht, wird er nirgends auf der Website angezeigt.

Kann man das umgehen?

1
Jack Johansson

Ja, das ist mit einer sehr einfachen Lösung möglich. Fügen Sie diesen Code-Snippet zur funtion.php Ihres Themas hinzu

add_action('admin_menu','remove_default_post_type');

function remove_default_post_type() {
    remove_menu_page('edit.php');
}

Weitere Informationen: https://www.techjunkie.com/remove-default-post-type-from-admin-menu-wordpress/ oder https://codex.wordpress.org/Function_Reference/remove_menu_page

2
Thijs

Sie können das Standardmenü für Beitragstypen und -kategorien mit dem folgenden Code löschen.

add_action('admin_menu','remove_post_cat_menu');

function remove_post_cat_menu() {
    remove_submenu_page( 'edit.php', 'post-new.php' );
    remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=category' ); // Removes default category menu
}
1
Vinod Dalvi

Basierend auf @ Thijs Antwort habe ich es geschafft, dies in 3 Teilen zu tun:

Entfernen Sie zunächst das Menü "Beiträge bearbeiten" aus dem Administratormenü.

add_action('admin_menu','remove_default_post_type');
function remove_default_post_type() {
    remove_menu_page('edit.php');
}

Entfernen Sie dann die Schaltfläche new-post aus der Administratorleiste und ändern Sie den Standardlink.

add_action('admin_menu','remove_default_post_type');
function remove_default_post_type() {
    remove_menu_page('edit.php');
    $default_link = $wp_admin_bar->get_node('new-content');
    $default_link->href = '#';
    $wp_admin_bar->add_node($default_link);
}

Jetzt ist es an der Zeit, Kategorien von benutzerdefinierten Beitragstypen vollständig zu löschen, aber nur Taxonomien Tags zuzuweisen, während benutzerdefinierte Taxonomien erstellt werden.

'taxonomies' => array('post_tag' )

Dadurch werden alle Spuren des Standardposttyps und der Standardpostkategorien entfernt. Da das Tag Taxonomien zugewiesen ist, können wir weiterhin über das Menü des benutzerdefinierten Beitragstyps auf Tags zugreifen. Der direkte Link ist jedoch weiterhin verfügbar, der mithilfe des Benutzerrollen-Hooks problemlos blockiert oder umgeleitet werden kann.

0
Jack Johansson