Auteur Topic: Wordpress query post unix timestamp ACF  (gelezen 4534 keer)

0 leden en 1 gast bekijken dit topic.

xvilo

  • Global Moderator
  • Verslaafd DigitalPlace Lid
  • *****
  • Berichten: 2670
  • Karma: -44
    • Bekijk profiel
    • http://www.xvilo.com
Wordpress query post unix timestamp ACF
« Gepost op: juli 12, 2016, 05:01:08 pm »
  • [+1]0
  • [-1]0
  • Hi,

    Ik ben al een tijdje bezig met een Wordpress website en heb de werking er van een beetje veranderd om wat meer flexibiliteit te creeeren. Een van de modules binnen het thema is een agenda/kalender module. De archive pagina laat een overzicht per dag zien welke evenementen er zijn.

    In de oude situatie was het gewoon een custom field met de datum geformat als Y-m-d maar nu is dit veranderd naar een unix timestamp met tijd.

    Mijn oude code kon queryen op posts voor een bepaalde dag. In dit geval vandaag...
    <?php
            $today = date('Y-m-d H:i:s');
            $newdate = date('Y-m-d', strtotime($today . " +{$i} day"));
            $args = array(
                    'numberposts' => -1,
                    'post_type' => 'post_type_agenda',
                    'meta_key' => 'begin_datum_en_tijd',
                    'orderby'       => 'begin_datum_en_tijd',
                    'meta_query' => array(
                                array(
                                    'key' => 'begin_datum_en_tijd',
    'value' => $newdate,
    'compare' => 'LIKE'
        )
         )
            );
            $the_query = new WP_Query( $args );

    Maar nu is de tijd ook in de timestamp dus kan ik niet meer vergelijken met LIKE
    Hoe zorg ik er voor dat de unixtimestamp is word omgezet naar het Y-m-d formaat alvorens te vergelijken?



    OnlineRageKiller

    • DigitalPlace Lid
    • *
    • Berichten: 200
    • Karma: -10
    • Talk is cheap, show me the code!
      • Bekijk profiel
    Re: Wordpress query post unix timestamp ACF
    « Reactie #1 Gepost op: juli 15, 2016, 09:26:37 pm »
  • [+1]0
  • [-1]0
  • Gebruik deze API: http://carbon.nesbot.com/docs/
    Hierin heb je een functie die je ff moet opzoeken ik weet die niet zo 123 uit mijn hoofd. Maar je gebruikte
    het volgensmij op zo'n manier:

    // Het was of deze:
    $nieuweTimeStamp = Carbon::createFromFormat($unixTimeStamp);
    // Of deze:
    $nieuweTimeStamp = Carbon::createFromDate($unixTimeStamp);


    Faperdaper

    • Administrator
    • Verslaafd DigitalPlace Lid
    • *****
    • Berichten: 2274
    • Karma: 29
      • Bekijk profiel
    Re: Wordpress query post unix timestamp ACF
    « Reactie #2 Gepost op: juli 16, 2016, 11:56:38 am »
  • [+1]0
  • [-1]0
  • Kun je niet gewoon controleren of de timestamp tussen twee getallen in ligt?
    Dus in feite:

    Code: php [Selecteer]

    $stamp >= strtotime("2016-07-16") && $stamp < strtotime("2016-07-17")


    Dan krijg je alles van 16 juli 2016.

    Ik weet niet precies hoe dat werkt met WordPress, maar ik zou dan iets als dit verwachten:

    Code: php [Selecteer]

    $newDate = strtotime("+1 DAY");
    $endDate = strtotime("+2 DAY");

    $args = array(
        'numberposts' => -1,
        'post_type' => 'post_type_agenda',
        'meta_key' => 'begin_datum_en_tijd',
        'orderby'       => 'begin_datum_en_tijd',
        'meta_query' => array(
            array(
                'key' => 'begin_datum_en_tijd',
                'value' => $newDate,
                'compare' => '>='
        ),
            array(
                'key' => 'begin_datum_en_tijd',
                'value' => $endDate,
                'compare' => '<'
            )
        )
    );
    $the_query = new WP_Query( $args );
    Klik hier voor stats over ons irc kanaal #DPF! Wil je ook ons kanaal joinen? Check deze tutorial. Of gebruik de webchat :)

    xvilo

    • Global Moderator
    • Verslaafd DigitalPlace Lid
    • *****
    • Berichten: 2670
    • Karma: -44
      • Bekijk profiel
      • http://www.xvilo.com
    Re: Wordpress query post unix timestamp ACF
    « Reactie #3 Gepost op: juli 16, 2016, 12:47:12 pm »
  • [+1]0
  • [-1]0
  • @stack,
    Dit is binnen WORDPRESS, dus om weer een extra library toe te voegen geeft alleen maar extra overhead én is dit gewoon al mogelijk zonder allerlei gehannes!

    @fapper
    Goed idee, ik zal er binnen kort eens naar kijken...

    Ik heb het in de tussen tijd opgelost door alle posts uit de post type gewoon op te halen en vervolgens per dag er door heen loopen en met wat ik statements de datum te checken!
    Kan er voor nu mee door, maar bij een grote site zou dit snelheids issues geven... Dus daar moet wel even beter naar gekeken worden

    P.s.
    Getypt van mobiel als er rare tiep dingen in zitten ;)