Eliminar el enlace "Ver publicación" de la página de publicación

2

He creado un tipo de publicación personalizada, pero solo para enumerar algunos datos en una página y no tiene ninguna .php.

¿Cómo lo deshabilito tanto en la página de publicación cuando hago clic en publicarlo? no muestra el enlace "Ver página" y también cómo deshabilito el enlace "Ver" en las columnas para ese tipo de publicación.

Gracias

    
pregunta Aki 22.06.2011 - 03:33

2 respuestas

6

Al cambiar el argumento public de register_post_type() se eliminará el enlace para ver tu tipo de publicación personalizada públicamente.

'public' => false, 

Ver: WordPress Codex

Tenga en cuenta que esto también ocultará su tipo de publicación personalizada de los menús de navegación del administrador, lo que tal vez no desee. Para ocultar el enlace 'Ver publicación' pero mantener su tipo de publicación en los menús de administración, use show_ui y así también:

'public'  => false,
'show_ui' => true,
    
respondido por el pendjer 17.10.2013 - 00:48
3

La respuesta anterior es incorrecta. El mensaje en la parte superior de una página de edición posterior no se puede modificar utilizando etiquetas. Necesitas usar el filtro post_updated_messages .

La siguiente función personalizará los mensajes usando el nombre del tipo de publicación, lo que es útil si está usando tipos de publicación personalizados. Es una versión modificada del ejemplo en el Wordpress Codex .

Observe que los enlaces Ver y Vista previa se controlan con las variables $viewLink , $previewLink y $schedPreviewLink , que solo aparecerán si la visibilidad del tipo de publicación de la publicación actual se establece como pública.

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' );
    
respondido por el Matt 16.10.2013 - 17:58

Lea otras preguntas en las etiquetas