WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] A LIST OF ENTIRES PRIOR TO TODAY! (15 posts)

  1. ryanoz
    Member
    Posted 7 years ago #

    How do I display a list of entries made before the current day. If today is April 4th, 2007.. I want to show a list of entires made before April 4th, 2007.

    Someone that knows this PHP/wordpress language help me out here please. This is like having to learn a new language just to say hello.

  2. Chris_K
    Member
    Posted 7 years ago #

    For those following along from home, we're apparently starting over. Earlier discussions can be found here: http://wordpress.org/support/topic/111969?replies=19

  3. ryanoz
    Member
    Posted 7 years ago #

    hmm,
    now I have no hope in resolving this...
    even the moderator doesn't even know how.

  4. Chris_K
    Member
    Posted 7 years ago #

    Not to be offensive, but that's the most ignorant thing I've read all day.

    You started a new branch of an existing topic. I, as a MODERATOR (which is not to be confused with DEVELOPER or EXPERT) gave folks a link to the previous branch.

    As a VOLUNTEER, I answer the questions I know. What I know is not inclusive of all things WordPress.

  5. ryanoz
    Member
    Posted 7 years ago #

    yes I understand why you made the post.
    I'm simply saying, that what I need to do is (or should be) very simple. You as a MODERATOR, who is obviously paying close attention to my problem; has not provided any type of help/information. Which is fine, I know MODERATOR doesn't mean EXPERT (not that this calls for an expert).
    Surely as MODERATOR you would have something to offer on this simple topic, or maybe wordpress IS just too complicated for me.

  6. Samuel Wood (Otto)
    Tech Ninja
    Posted 7 years ago #

    The short answer is that there's no easy way to do it because nobody's ever wanted to do that before. WordPress has a lot of code to get posts for particular days, months, years, but nothing to get a range of dates that excludes "today".

    Just because you think it should be simple doesn't mean that you are correct. ;)

    Anyway, the only way I can think to do it would be to use a custom filter on the WHERE clause.

    function exclude_today($where)
    {
    $current_month = date('m');
    $current_year = date('Y');
    $current_day = date('j');
    $where .= " AND (YEAR(post_date)<>$current_year OR (YEAR(post_date)=$current_year AND MONTH(post_date)<>$current_month) OR (YEAR(post_date)=$current_year AND MONTH(post_date)=$current_month AND DAYOFMONTH(post_date)<>$current_day ) )";
    
    return $where;
    }

    Before you do your query_posts() or whatever, you do this:
    add_filter('posts_where','exclude_today');

    After your query_posts, you need to turn off the filter again (so as not to mess up any other Loops), so you do this:
    remove_filter('posts_where','exclude_today');

    That might do the trick. No need for funky loop code then.

  7. ryanoz
    Member
    Posted 7 years ago #

    Otto, thank you for replying

    The short answer is that there's no easy way to do it because nobody's ever wanted to do that before.

    Seriously? Its just a list of previous entries, I see them all the time. Oh well... guess it is more complicated than I thought, obviously.
    I'll try out the solution you provided here, hopefully I'll get it right.
    Thanks again!

  8. Samuel Wood (Otto)
    Tech Ninja
    Posted 7 years ago #

    Seriously? Its just a list of previous entries, I see them all the time.

    No, that's not the same thing at all. You don't want a list of previous entries; you want a list of entries not made on a specific date, which is a whole other kettle of fish.

    Also, my original solution above was incorrect (nice for a first try, though) , try the modified version (I changed the above code).

  9. ryanoz
    Member
    Posted 7 years ago #

    Otto,
    I put your code in and its showing only the last entry,
    which is today. I was assuming you meant your code goes in my index.php. So this is what I have...

    <ul>
    <?php
    function exclude_today($where)
    {
    $current_month = date('m');
    $current_year = date('Y');
    $current_day = date('j');
    $where .= " AND (YEAR(post_date)<>$current_year OR (YEAR(post_date)=$current_year AND MONTH(post_date)<>$current_month) OR (YEAR(post_date)=$current_year AND MONTH(post_date)=$current_month AND DAYOFMONTH(post_date)<>$current_day ) )";
    
    return $where;
    }
    ?>
    <?php add_filter('posts_where','exclude_today'); ?>
    <?php get_posts('showposts=4&order=DESC&offset=1'); ?>
    
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?>
     <span><?php the_time('F jS, Y') ?> - <?php wp_link_pages(); ?> <?php comments_number(__('<strong>0</strong> Comments'), __('<strong>1</strong> Comment'), __('<strong>%</strong> Comments')); ?></span></a></li>
    
    <?php remove_filter('posts_where','exclude_today'); ?>
    </ul>

    you can't assume I know anything about this stuff, I need the exact code to copy and paste that will work. I'll pay you (or anyone) for it somehow (paypal?), I don't care; I just need to get past this.

  10. Samuel Wood (Otto)
    Tech Ninja
    Posted 7 years ago #

    Try this:

    <ul>
    <?php
    function exclude_today($where)
    {
    $current_month = date('m');
    $current_year = date('Y');
    $current_day = date('j');
    $where .= " AND (YEAR(post_date)<>$current_year OR (YEAR(post_date)=$current_year AND MONTH(post_date)<>$current_month) OR (YEAR(post_date)=$current_year AND MONTH(post_date)=$current_month AND DAYOFMONTH(post_date)<>$current_day ) )";
    return $where;
    }
    add_filter('posts_where','exclude_today');
    query_posts('showposts=4&order=DESC');
    remove_filter('posts_where','exclude_today');
    while (have_posts()) : the_post();
    ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?>
     <span><?php the_time('F jS, Y') ?> - <?php wp_link_pages(); ?> <?php comments_number(__('<strong>0</strong> Comments'), __('<strong>1</strong> Comment'), __('<strong>%</strong> Comments')); ?></span></a></li>
    <?php endwhile; ?>
    </ul>

    This is just untested code that I'm writing on the fly, mind you. Might not be 100% correct.

  11. ryanoz
    Member
    Posted 7 years ago #

    Otto,
    Bingo! It works perfectly!
    I have no idea how it works, but all I care about is is that it is working.
    Thank you so much

  12. ryanoz
    Member
    Posted 7 years ago #

    Otto,
    Hate to bring this back, but I need a slight modification.
    Hopefully your still around.
    This worked perfectly, but it turns out that I misinterpreted what I really need to do here.
    This shows a list of entries prior to the current date. However, what I should have said is I need to show a list of entries prior to the date of the last entry (or entries).
    So if I have 3 entries made on April 17th, 2007...
    I need to show a list of say 4 entries prior to April 17th, 2007.
    Hope this makes sense. I'll be reading the docs and searching the forum in the meantime.

  13. ryanoz
    Member
    Posted 7 years ago #

    Just to be clear...
    This would just be a list of previous entries,
    excluding the date of the last entry (or entries).

    IT could be there is only 1 entry made on April 17th, 2007,
    or there could be 5 entries on April 17th, 2007.

    So I would want to show a list of entries made prior to April 17th, 2007.

    This is so frustrating because I don't know how to do it.

  14. ryanoz
    Member
    Posted 7 years ago #

    This is as close to a solution I have come:
    http://wordpress.org/support/topic/94914?replies=3

    But its not working. After reading the above topic. This is what I have in my sidebar.php...

    <ul>
    <?php
    /* yesterday's headlines */
    Function yesterdayHeadlines(){
    $yesterday = date('U') - 86400;
    $yesterday = getdate($yesterday);
    $current_day = zeroise($yesterday['mday'],2);
    $current_month = zeroise($yesterday['mon'],2);
    $current_year = $yesterday['year'];
    query_posts("year=$current_year&monthnum=$current_month&day=$current_day&order=DESC&showposts=3");
    ?>
    
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?><span><?php the_time('F jS, Y') ?> - <?php wp_link_pages(); ?> <?php comments_number(__('<strong>0</strong> Comments'), __('<strong>1</strong> Comment'), __('<strong>%</strong> Comments')); ?></span></a></li>
    <?php endwhile; else: ?>
    
    <?php endif; ?>
    <?php } ?>
    </ul>
  15. ryanoz
    Member
    Posted 7 years ago #

    Anybody?

    Suggestions? References? Anything?

    Are all blogs this difficult to customize?
    Should I be using something else?

    Just a list of entries prior to the last entry date.
    Sounds simple, but I haven't got a clue.

Topic Closed

This topic has been closed to new replies.

About this Topic

Tags

No tags yet.