php - Stop WordPress from filtering out draft posts for guests in get_posts -
i have page
on wordpress site uses template , in template, have used get_posts
fetch results cpt. in cpt, 1 post allowed have publish
status @ time whilst others stay in draft
mode. however, want guest users (i.e. site visitors don't have access account on site) able visit page , see posts in draft state.
i'm using these args fetch results
$args = array( 'name' => $slug, 'post_type' => 'catalog', 'post_status' => array('draft', 'publish'), ); $catalogs = get_posts($args);
the code above works fine signed in users returns empty when sign out. i'm sure wordpress filter responsible this. can't figure out how make stop.
additional info: can use $wpdb
fetch desired results i'm hoping can done custom filter. did research couldn't find useful , wordpress codex doesn't contain information regarding this.
ok, think mean. try below snippets
/* * on drafts should visible. */ function show_drafts( $query ) { $query->set( 'post_status', array( 'publish', 'draft' ) ); } add_action( 'pre_get_posts', 'show_drafts' );
this should allow both draft , publish appear visible when use get_posts method.
Comments
Post a Comment