גם וידג'ט פוסטים וגם הוידג'ט פורטופוליו של אלמנטור מגיעים עם אפשרויות שונות להגדרת השאילתה. אבל לפעמים זה לא מספיק ואנחנו צריכים לדייק יותר את הפוסטים שאותם אנחנו רוצים להציג.
אלמנטור מאפשרים לנו לעדכן את השאילתה בקוד.
השלב הראשון הוא לתת לשאילתה שלנו שם יחודי. כדי שבקוד נוכל לזהות את השאילתה ולעדכן אותה.
חפשו בהגדרות של וידג'ט הפוסטים, תחת "Query" את השדה שנקרא Query ID. זה המקום להזנת השם לבחירתכם. למשל: "myposts".
אחרי שנתנו לשאילתה שם, נעבור לשלב השני בו אנחנו משנים את אופן שליפת הנתונים.
הממשק של אלמנטור מאפשר לנו להציג שאילתה של סוג תוכן יחיד. נניח שאנחנו רוצים יותר מאחד. נוכל להוסיף זאת בקוד באופן הבא:
function my_query_by_post_types( $query ) {
$query->set( 'post_type', [ 'custom-post-type1', 'custom-post-type2' ] );
}
add_action( 'elementor/query/{$query_id}', 'my_query_by_post_types' );
הסבר:
בשורה 2, נגדיר את שמות סוגי התוכן שאותם אנחנו רוצים להציג.
בשורה 4, במקום שרשום {query_id$} נרשום את שם השאילה שלנו שרשמנו בשדה הCSS ID.
דוגמא נוספת:
שאילתה שמציגה את כל הפוסטים בסטטוסים ספציפיים:
function my_query_by_post_status( $query ) {
$query->set( 'post_status', [ 'future', 'draft'] );
}
add_action( 'elementor/query/{$query_id}', 'my_query_by_post_status' );