WordPress.org

Ready to get started?Download WordPress

Forums

Sort archive page by last_activity (6 posts)

  1. MarketRaisen2
    Member
    Posted 11 months ago #

    I posted this elsewhere but support for the plugin is dead by the looks of thing, so thought I'd try again here...

    Having installed the 'filter by comments' plugin which "Adds query vars (comment_count, comment_count_compare, orderby_last_comment, orderby_last_activity) for filtering posts by comments". Then adding-

    <?php query_posts( 'orderby_last_activity=1&paged=' . $paged); ?>

    -to the top of my index page, all of my posts are now being displayed exactly how I want them to be. ie whichever is most recently updated comes to the front.

    However when a tag is clicked, the results page is obviously the archive page, which this plugin doesn't appear to work on, leaving posts being shown in order they were published rather than updated.

    When the above line of code is applied to the archive.php file, it simply pulls every post from the blog and displays them as if its the index, nothing is filtered but they are displaying correctly.

    Is there a way I can hack that code to sort just the archive results?

    Looking through the archive.php file, the only I think I should be looking at is -

    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

    -as it comes directly after the filtering code and directly before the article.

    I am not a complete novice with php, I'm learning fast, this one is just beyond me.

    How about the query.php file? I'm terrified of that one but my solution may well be in there.

    Any sort of response appreciated.

    ________________________________________

    The conclusion I've come to after dozens of searches on here and google (and everywhere) is that the archive page isnt recognising the changes made by the plugin, which I don't understand as it appears to be picking up everything else.

    I've managed to brick my site a couple of times this afternoon fiddling with the function.php but thankfully it reserects on reloading the original theme file (dknote theme).

    It also appears I'm clueless with the coding. I wanted to use tags as navigation around the site but if they'll only ever be listed in published order then it won't work.

    Anybody here ever tried with this?

  2. MarketRaisen2
    Member
    Posted 11 months ago #

    I give up.

    It's beyond me.

  3. MarketRaisen2
    Member
    Posted 11 months ago #

    yeah the archive page really has no idea what 'last_activity' means

    now im going to teach myself how to hardcode a plugin, or at least part of it.

    this should be another coupel of sleepless nights lol

  4. bythegram
    Member
    Posted 11 months ago #

    I've never used that plugin but could you use pre_get_posts to set the query?

    UNTESTED:

    function order_by_activity_archives( $query ) {
        if ( $query->is_archive() && $query->is_main_query() ) {
            $query->set( 'orderby_last_activity', '1' );
        }
    }
    add_action( 'pre_get_posts', 'order_by_activity_archives' );

    I'd add that to your functions.php file and then have a look at your tag archive to see if it is ordering as expected.

    Note: I kept the conditional check as straight forward as possible so all archive pages (categories, author, tag etc) will be affected, if you only want this on tags than you'll need to beef up that conditional check.

  5. MarketRaisen2
    Member
    Posted 11 months ago #

    do you have a donate button somewhere?

  6. MarketRaisen2
    Member
    Posted 11 months ago #

    I'm looking at that and I swear I tried it earlie ron without success.

    function order_by_activity_archives( $query ) {

    This first line looks like the problem, I've spent 13 hours on this today without seeing the activity_archives. Good news is tomorrow I get to go back to work and ignore the laptop.

Reply

You must log in to post.

About this Topic

Tags