Custom Post Type Draft Preview Vai para 404

Criei um tipo de postagem personalizado dentro de um plugin personalizado.

Aqui está a minha definição de tipo de publicação:

function hrd_record_custom_post_type() { $args = array( 'description' => __( 'hrdrecord', 'hrd_record' ), 'public' => true, 'publicly_queryable' => true, 'exclude_from_search' => false, 'show_in_nav_menus' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_admin_bar' => true, 'menu_position' => null, 'menu_icon' => null, 'can_export' => true, 'delete_with_user' => false, 'hierarchical' => false, 'has_archive' => true, 'query_var' => true, 'capability_type' => 'hrdrecord', 'map_meta_cap' => true, 'capabilities' => array( 'edit_post' => 'edit_hrdrecord', 'read_post' => 'read_hrdrecord', 'delete_post' => 'delete_hrdrecord', 'create_posts' => 'create_hrdrecords', 'edit_posts' => 'edit_hrdrecords', 'edit_others_posts' => 'edit_others_hrdrecords', 'publish_posts' => 'publish_hrdrecords', 'read_private_posts' => 'read_private_hrdrecords', 'read' => 'read', 'delete_posts' => 'delete_hrdrecords', 'delete_private_posts' => 'delete_private_hrdrecords', 'delete_published_posts' => 'delete_published_hrdrecords', 'delete_others_posts' => 'delete_others_hrdrecords', 'edit_private_posts' => 'edit_private_hrdrecords', 'edit_published_posts' => 'edit_published_hrdrecords' ), 'rewrite' => array( 'slug' => 'hrdrecord', 'with_front' => false, 'pages' => true, 'feeds' => true, 'ep_mask' => EP_PERMALINK, ), 'taxonomies' => array( 'location','sex','type-of-work','type-of-killing','previous-threat', 'gender-component', 'status-of-investigation','sector','sector-detail'), 'supports' => array( 'author', 'thumbnail', ), 'labels' => array( 'name' => __( 'HRD Record', 'hrd_record' ), 'singular_name' => __( 'HRD Record', 'hrd_record' ), 'menu_name' => __( 'HRD Record', 'hrd_record' ), 'name_admin_bar' => __( 'HRD Record', 'hrd_record' ), 'add_new' => __( 'Add New', 'hrd_record' ), 'add_new_item' => __( 'Add New HRD Record', 'hrd_record' ), 'edit_item' => __( 'Edit HRD Record', 'hrd_record' ), 'new_item' => __( 'New HRD Record', 'hrd_record' ), 'view_item' => __( 'View HRD Record', 'hrd_record' ), 'search_items' => __( 'Search HRD Records', 'hrd_record' ), 'not_found' => __( 'No HRD Record found', 'hrd_record' ), 'not_found_in_trash' => __( 'No HRD Record in trash', 'hrd_record' ), 'all_items' => __( 'All HRD Records', 'hrd_record' ), 'archive_title' => __( 'hrdrecord', 'hrd_record' ), ) ); register_post_type( 'hrdrecord', $args ); } add_action( 'init', 'hrd_record_custom_post_type' ); 

O problema que estou tendo é que, quando eu tiver um desses tipos de publicação no Rascunho e eu clique no botão Visualizar (seja da lista de Todos os registros de HRD ou da canvas de edição do registro HRD individual), eu sou trazido para uma página 404 Not Found. Mas se o post for publicado, não tenho problemas para visualizar Alterações antes de atualizar ou de outra forma visualizar o tipo de publicação.

Uma coisa que também é estranha é que quando eu tento visualizar na listview, o URL tem parâmetros de consulta no link de? Post_type = hrdrecord & p = 999 & preview = true Mas, uma vez que isso aparece no navegador, a variável de consulta & preview = true desaparece e até mesmo Se eu tentar reconfigurar manualmente, uma vez que eu toque o retorno, ele é removido do URL (somente o “post_type = hrdrecord & p = 999 permanecem)”.

Quando eu tento o botão Visualizar na canvas individual, essa seqüência de variables ​​é reescrita como “post_type = hrdrecord & p = 999 & preview_id = 999 & preview_nonce = algum conjunto de números e letras, mas ainda vai para uma página 404 não encontrada.

Eu tentei várias coisas que eu encontrei aqui e em outros fóruns sobre problemas semelhantes, mas nada é classificá-lo.

  1. Eu tentei mudar os temas
  2. Tentei remover parâmetros na definição do tipo de publicação que está sendo configurada para seus valores padrão
  3. Tenho redefinido o número de ações no número de vezes (também meu plugin possui flush_rewrite_rules (), tanto na ativação e desativação de ganchos quanto desativado e reativado o plugin algumas vezes)
  4. Alterei o parâmetro ‘with_front’ na ‘rewrite’ para o verdadeiro
  5. Desabilitei todos os outros plugins

Então estou com uma perda. Estou assumindo que está relacionado a reescritas e algum parâmetro na definição de tipo de postagem personalizada, mas eu não sei qual ou como obter o WordPress para associar as variables ​​de consulta de visualização com o tipo de publicação.

Qualquer sugestão seria muito apreciada.

Solutions Collecting From Web of "Custom Post Type Draft Preview Vai para 404"

Eu tinha um colega para ver o código completo do plugin e ele encontrou uma function que escrevi, o que estava forçando a consulta a mostrar apenas as postagens “publicadas”. Isso estava interferindo com a visualização, pois estava sendo tratada como uma consulta frontal. Eu consegui ignorá-lo adicionando o parâmetro !$query->is_preview() às minhas condições e agora está ordenado.