גם וידג'ט פוסטים וגם הוידג'ט פורטופוליו של אלמנטור מגיעים עם אפשרויות שונות להגדרת השאילתה. אבל לפעמים זה לא מספיק ואנחנו צריכים לדייק יותר את הסדר של הפוטסים שאותם אנחנו מציגים.
אלמנטור מאפשרים לנו לעדכן את סדר הופעת הפוסטים דרך הקוד.
השלב הראשון הוא לתת לשאילתה שלנו שם יחודי. כדי שבקוד נוכל לזהות את השאילתה ולעדכן אותה.
חפשו בהגדרות של וידג'ט הפוסטים, תחת "Query" את השדה שנקרא Query ID. זה המקום להזנת השם לבחירתכם. למשל: "myposts".
אחרי שנתנו לשאילתה שם, נעבור לשלב השני בו אנחנו משנים את אופן שליפת הנתונים.
הממשק של אלמנטור נותן לנו כמה אפשרויות להגדרת הסדר של הפוסטים. יש מקרים שהסדר שאותו אנחנו רוצים לא מופיע בממשק. במקרים האלה אפשר להוסיף את הקטע הקוד הבא:
function my_query_by_different_order( $query ) {
$query->set( 'orderby', 'comment_count' );
$query->set( 'order', 'ASC' );
}
add_action( 'elementor/query/{$query_id}', 'my_query_by_different_order' );
הסבר:
בדוגמא הזו אנחנו מציגים את הפוסטים לפי מספר התגובות שהם קיבלו.
שורה 3 היא לא חובה. מאפשרת להגדיר האם המיון הוא עולה (ASC) או יורד (DESC).
בשורה 5, במקום שרשום {query_id$} נרשום את שם השאילה שלנו שרשמנו בשדה הCSS ID.
את הקוד מכניסים כמובן לקובץ functions.php שנמצא בערכת העיצוב שלנו.