Support » Plugin: Edit Flow » ‘public’ status for Custom Status for Edit Flow

  • gmattwp

    (@gmattwp)


    Where is the control for the “Public” setting for Custom Status? There is nothing on the page.

    Or are ALL custom statuses set to “false” by default, and they aren’t expected to change?

    For that matter, there are a few more parameters accepted by ‘register_post_status’ that would be nice to see on the same Edit Flow Custom Status page.

Viewing 6 replies - 1 through 6 (of 6 total)
  • I need exactly the same thing.
    I need page to be published but with a custom status to tell missing content or waiting design.
    Sadly editflow status seems all trated as draft and are so invisible in front-end.

    @dinobib If you just want to display posts on the front end (I presume on a protected page that only editors access?) then that is achievable *without* having to “publish” the post or make it “public”.

    Simply create a template file for the Page (or a shortcode in your child theme’s functions.php or other custom plugin file) and add a query using the “post_status” addtribute in your $args with a value of “(whateverstatus)” (using whatever status is is you want displayed).

    For example, say you have a custom status added by EditFlow of “awaiting_editor”, then add a query to your template like this example:

        $args = array(
        'post_status' => 'awaiting_editor',
        'posts_per_page' => 50, // whatever number you want per page
      );
        $my_query = new WP_Query($args);
       global $post;
    if ($my_query->have_posts()) { 
       echo '<ul>';
    
    while ($my_query->have_posts()) {
        $my_query->the_post();
        
        echo '<li>';
    	the_title();
    	echo '</li>';
    }
     
    echo '</ul>';
    
    } else { ?>
        <div>
        <ul>
          <li><?php _e('No upcoming Posts'); ?></li>
        </ul>
        </div>
    <?php } wp_reset_query(); ?>

    If you have custom fields or metadata you want to access and display along with the standard post title/link (maybe notes on what still needs to be done before publishing), use $global post, if not you can leave that out.

    This is just an example and all it does is display a list of unlinked titles of posts with that status…..you can take it further if you want.

    I hope this helps!

    • This reply was modified 6 months, 3 weeks ago by TrishaM.
    • This reply was modified 6 months, 3 weeks ago by TrishaM.

    That’s not my goal.
    I don’t want to list on front end a specific status.
    I need a status which will be viewable as a status on admin Pages, Article or CPT listing board but are treated in front-end as published.
    I fact I want a copy of the published status but with different names.
    But it seems Edit Flow created custom status are all treated as if they were draft and not as public published pages.
    These custom status will only be a visual indication in backend of how we consider the published page to better track rework to be done or update needed.
    As soon as I assign an editflow created status, the page disappear from front-end and my understanding is that all editflow status are not treated with the public attributes.
    Wordpress seems to have the public attribute when we register custom post status exactly to tell this but it seems editflow set it to false by default.
    A way to switch it to true would be needed on a custom status basis.

    @dinobib Ah ah – all of that info would have been very helpful in your original post…..as it was all I could go on was this:

    “Sadly editflow status seems all trated as draft and are so invisible in front-end.”

    I believe now I understand what you want, and in that case the problem is not with EditFlow but with how WP queries for Posts – it doesn’t matter if a status is ‘public’ or not, that’s simply a flag.

    A Post can only have one ‘status’ at a time and by default the standard WP query (the Loop) only looks for Posts with a ‘publish’ status, so to have Posts be able to be considered ‘live’ (published) and yet have a different custom status so you can find/manage them in the back-end based on status, you’d need to modify The Loop.

    The best way I can think of to do that is to use pre_get_posts and then add to the query like so:

    $query-> set('post_status',array('publish','awaiting_editor');

    You can read more about pre_get_posts here:
    https://developer.wordpress.org/reference/hooks/pre_get_posts/

    I hope this helps better 🙂

    • This reply was modified 6 months, 3 weeks ago by TrishaM.
    • This reply was modified 6 months, 3 weeks ago by TrishaM.

    Thanks for your explanation.
    It would need to redo all the front to have a commodity in backend.
    So I guess this is not suitable and custom post status is not the way to go for this.
    That was not obvious as the name suggest it would be able to manage this need.
    I think I will do a custom taxonomy for this purpose. It will not be easily readable as custom status but will do the trick.
    Thanks for your help

    @dinobib That’s actually how I would do it if I were in your shoes. I’d add a custom taxonomy (maybe something like “Followup”) and then I’d add a custom metabox (which you can do using EditFlow or manually) to hold whatever notes the author or an editor had on what needs to be done still, then I’d add that metabox to the columns so you could (by displaying posts by category in the back end) just scan down the list to see what needs to be done without having to click on each one to view the notes.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘‘public’ status for Custom Status for Edit Flow’ is closed to new replies.