Remover postagem de página “View Post” Link

2

Eu criei um tipo de postagem personalizado, mas apenas para listar alguns dados em uma página e ele não tem nenhum único.php.

Como faço para desativar isso na página de postagem quando clico em publicar, ele não mostra o link "Exibir página" e também como desativo o link "Visualizar" nas colunas desse tipo de postagem.

Obrigado

    
por Aki 22.06.2011 / 03:33

2 respostas

6

A alteração do argumento public de register_post_type() removerá o link para exibir seu tipo de postagem personalizado publicamente.

'public' => false, 

Veja: Código do WordPress

Observe que isso também ocultará seu tipo de postagem personalizado nos menus de navegação do administrador, o que talvez você não queira. Para ocultar o link "Visualizar postagem", mas mantenha o tipo de postagem nos menus do administrador, use show_ui da seguinte forma:

'public'  => false,
'show_ui' => true,
    
por pendjer 17.10.2013 / 00:48
3

A resposta anterior está incorreta. A mensagem na parte superior de uma página de edição de postagem não pode ser modificada usando rótulos. Você precisa usar o filtro post_updated_messages .

A função a seguir personalizará as mensagens usando o nome do tipo de postagem - útil se você estiver usando tipos de postagem personalizados. É uma versão modificada do exemplo no Código do Wordpress .

Observe que os links Visualizar e Visualizar são controlados com as variáveis $viewLink , $previewLink e $schedPreviewLink , que só aparecerão se a visibilidade do tipo de postagem da postagem atual estiver definida 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' );
    
por Matt 16.10.2013 / 17:58