it-swarm.com.de

Beitrag entfernen Link "Beitrag anzeigen"

Ich habe einen benutzerdefinierten Beitragstyp erstellt, der nur einige Daten auf einer Seite auflistet und keine single.php-Datei enthält.

Wie deaktiviere ich diese Option auf der Post-Seite? Wenn ich auf "Veröffentlichen" klicke, wird der Link "Seite anzeigen" nicht angezeigt. Wie deaktiviere ich den Link "Ansicht" in den Spalten für diesen Post-Typ?.

Vielen Dank

2
Aki

Wenn Sie das Argument public von register_post_type() ändern, wird der Link entfernt, um Ihren benutzerdefinierten Beitragstyp öffentlich anzuzeigen.

'public' => false, 

Siehe: WordPress Codex

Beachten Sie, dass dadurch auch Ihr benutzerdefinierter Beitragstyp aus den Admin-Navigationsmenüs ausgeblendet wird, die Sie möglicherweise nicht möchten. Um den Link "Beitrag anzeigen" auszublenden, aber Ihren Beitragstyp in den Admin-Menüs beizubehalten, verwenden Sie show_ui wie folgt:

'public'  => false,
'show_ui' => true,
8
pendjer

Die vorherige Antwort ist falsch. Die Nachricht oben auf einer Nachbearbeitungsseite kann nicht mithilfe von Beschriftungen geändert werden. Sie müssen den Filter post_updated_messages verwenden.

Die folgende Funktion passt die Nachrichten mit dem Namen des Beitragstyps an - praktisch, wenn Sie benutzerdefinierte Beitragstypen verwenden. Es ist eine modifizierte Version des Beispiels im Wordpress Codex .

Beachten Sie, dass die Links "Anzeigen" und "Vorschau" mit den Variablen "$viewLink", "$previewLink" und "$schedPreviewLink" gesteuert werden. Diese werden nur angezeigt, wenn die Sichtbarkeit des Beitragstyps des aktuellen Beitrags auf "öffentlich" eingestellt ist.

function custom_post_type_messages($messages) {
  global $post, $post_ID;

  $post_type = get_post_type( $post_ID );
  $obj = get_post_type_object($post_type);

  $singular = $obj->labels->singular_name;

  $viewLink = ($obj->public) ?  ' <a href="%s">View '.strtolower($singular).'</a>' : "";
  $previewLink = ($obj->public) ? ' <a target="_blank" href="%s">Preview '.strtolower($singular).'</a>': "";
  $schedPreviewLink = ($obj->public) ? ' <a target="_blank" href="%2$s">Preview '.strtolower($singular).'</a>': "";

  $messages[$post_type] = array(
    0 => '', // Unused. Messages start at index 1.
    1 => sprintf( __($singular.' updated.'.$viewLink), esc_url( get_permalink($post_ID) ) ),
    2 => __('Custom field updated.'),
    3 => __('Custom field deleted.'),
    4 => __($singular.' updated.'),
    5 => isset($_GET['revision']) ? sprintf( __($singular.' restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
    6 => sprintf( __($singular.' published.'.$viewLink), esc_url( get_permalink($post_ID) ) ),
    7 => __('Page saved.'),
    8 => sprintf( __($singular.' submitted.'.$previewLink), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
    9 => sprintf( __($singular.' scheduled for: <strong>%1$s</strong>.'.$schedPreviewLink), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), esc_url( get_permalink($post_ID) ) ),
    10 => sprintf( __($singular.' draft updated.'.$previewLink), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
  );
  return $messages;
}

add_filter('post_updated_messages', 'custom_post_type_messages' );
3
Matt