דף הבית » חדשות ועדכונים

שאילתות מורכבות בוורדפרס 3.7

13 באוקטובר 2013 | מאת רמי | אין תגובות |

מגרסה לגרסה וורדפרס משדרגת את מחלקת השאילתות (WP_Query). בגרסה 3.1 הוצגו שאילתות מתקדמות מבוססת טקסונומיה מותאמת אישית (Custom Taxonomies) ושדות מיוחדים (Custom Fields), בוורדפרס 3.5 הוצגו שאילתות מתקדמות מבוססות שדות המיוחדים גם בשאילתות תגובות ושאילתות משתמשים. בגרסה 3.7 מחלקת השאילתות הראשית מציגה דרך חדשה ויעילה יותר לשאילתות מבוססות תאריך.

קוד וורדפרס

קוד וורדפרס

שאילתות תאריך

שאילתות תאריך מאפשרות לנו לפלטר פוסטים לפי חתך מבוסס זמן. התיקונים בוצעו על פי הצעתו של אלכס (viper007bond). למי שמעוניין במידע נוסף, שכתבתי את הקודקס של וורדפרס והרחבתי את הפרק המדבר על שאילתות תאריך, להלן מספר דוגמאות קוד להמחיש כמה זה פשוט וקל:

פוסטים מתאריך מסויים

להחזרת פוסטים מתאריך מסויים, נשתמש בקוד הבא:

$args = array(
    'date_query' => array(
        array(
            'year'  => 2012,
            'month' => 12,
            'day'   => 12,
        ),
    ),
);
$query = new WP_Query( $args );

פוסטים משבוע מסויים

להחזרת פוסטים משבוע מסויים, נשתמש בקוד הבא:

$args = array(
    'date_query' => array(
        array(
            'year' => date('Y'),
            'week' => date('W'),
        ),
    ),
);
$query = new WP_Query( $args );

פוסטים שפורסמו בטווח שעות מסויים

להחזרת פוסטים שפורסמו מ-9 בבוקר ועד 5 בערב מאז ומעולם, נשתמש בקוד הבא:

$args = array(
    'date_query' => array(
        array(
            'hour'      => 9,
            'compare'   => '>=',
        ),
        array(
            'hour'      => 17,
            'compare'   => '<=',
        ),
        array(
            'dayofweek' => array( 2, 6 ),
            'compare'   => 'BETWEEN',
        ),
    ),
    'posts_per_page' => -1,
);
$query = new WP_Query( $args );

פוסטים שפורסמו בטווח תאריכים מסויים

להחזרת פוסטים בין 1 בינואר 2013 ועד 28 בפברואר 2013, נשתמש בקוד הבא:

$args = array(
    'date_query' => array(
        array(
            'after'     => 'January 1st, 2013',
            'before'    => array(
                'year'  => 2013,
                'month' => 2,
                'day'   => 28,
            ),
            'inclusive' => true,
        ),
    ),
    'posts_per_page' => -1,
);
$query = new WP_Query( $args );

פוסטים לפי תאריכי עדכון ולא תאריךי פרסום

להחזרת פוסטים שנוצרו לפני שנה אבל עודכנו לפני חודש, נשתמש בקוד הבא:

$args = array(
    'date_query' => array(
        array(
            'column' => 'post_date_gmt',
            'before' => '1 year ago',
        ),
        array(
            'column' => 'post_modified_gmt',
            'after'  => '1 month ago',
        ),
    ),
    'posts_per_page' => -1,
);
$query = new WP_Query( $args );

מאת רמי

אחראי על אתר וורדפרס בעברית ועל תרגום ושחרור גרסאות וורדפרס בעברית. מפתח ליבה, בכל גרסה החל מגרסה 2.8, מפתח מוביל בגרסה 4.4 ובגרסה 4.6. מספק שירותי פיתוח אתרים, פיתוח תוספי וורדפרס לסטרטאפים ופיתוח כלים למפתחי וורדפרס - GenerateWP.com.

הוסף תגובה !

נא לא לשאול שאלות שלא קשורות לפוסט, זהו לא פורום תמיכה. לבעיות אישיות ונושאים מורכבים אפשר ליצור איתי קשר.

תגיות HTML מורשות לשימוש:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>