Question

i am using publish press plugin to create a custom post status i changed the all post status into public, using this

register_post_status(
    $status->slug,
    [
        'label'       => $status->name,
        'public'   => true,
        'exclude_from_search'       => true,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        '_builtin'    => false,
        'label_count' => _n_noop("{$status->name} <span class='count'>(%s)</span>",
            "{$status->name} <span class='count'>(%s)</span>"),
    ]
);

all post shown at front end but edit.php all post page not working it not showing the all the post which is relevant to custom post type and it also affected the woocommerce

Était-ce utile?

La solution

finally found the solution when i enter all the custom post status to public it declare the post_type to default post as global so applied filter to change the global post_type based what type request get in URL


function publishPress_allPost_pre_get_posts( &$wp_query )
{
    if ( is_admin() && array_key_exists( 'post_type', $_GET ) ) {
        $wp_query->set( 'post_type', $_GET['post_type'] );
        add_filter( 'the_posts', 'publishPress_allPost_the_posts', 10, 2 );
    }
}

function publishPress_allPost_the_posts( $posts, &$wp_query )
{
    $wp_query->set( 'post_type', $GLOBALS['post_type'] );
    return $posts;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top