Search

ארכיונים: סניפטים וקטעי קוד | עמוד 7

הרחבת שדה הכתובת בווקומרס

את הקוד הבא ניתן להוסיף לקובץ functions.php של תבנית הבת שלכם בכדי לגרום לשדה הכתובת להיות רחב יותר:

/**
 * Make the billing address fields wider
 */

function custom_woocommerce_billing_fields( $fields ) {

     $fields['billing_address_1']['class'] = array( 'form-row-wide' );
     $fields['billing_address_2']['class'] = array( 'form-row-wide' );

     return $fields;
}
add_filter('woocommerce_billing_fields', 'custom_woocommerce_billing_fields');

סיום הזמנה אוטומטי בווקומרס (Auto Complete Orders)

ניתן לסמן כל הזמנה כסטטוס ״הושלם״ בצורה אוטומטית על ידי הוספת הקוד הבא לקובץ functions.php. ניתן אף לשנות את Completed ל Processing בכדי לגרום לכל הזמנה להיות בסטטוס ״בטיפול״ בצורה אוטומטית:

/**
 * Auto Complete all WooCommerce orders.
 */
function custom_woocommerce_auto_complete_order( $order_id ) {
    if ( ! $order_id ) {
        return;
    }

    $order = wc_get_order( $order_id );
    $order->update_status( 'completed' );
}
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );

כיצד להסתיר scrollbars בדפדפן ועדיין לאפשר גלילה?

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

.element::-webkit-scrollbar {
    width: 0;
    height: 0
}

.element {
   scrollbar-width: none;
}

אז נאמר ואתם רוצים להסתיר את ה scrollbars המופיעים עבור תגית ה <html> – ניתן לעשות זאת באמצעות ה CSS הבא:

::-webkit-scrollbar {
    width: 0;
    height: 0
}

html {
   scrollbar-width: none;
}

שימו לב, זה לא יעבוד בדפדפן ספארי ואני מניח שגם לא בגירסאות Internet Explorer למינהן.

הצגת עמוד התשלום למרות שעגלת הקניות ריקה

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

נסו לגשת לעמוד התשלום (קישור בפוטר) בחנות לדוגמה הבאה וראו כי מתבצעת הפנייה.

ישנם מצבים שאינם שכיחים אך בהם תרצו לבטל הפנייה זו ולהראות למשתמש את עמוד התשלום בכל זאת. ניתן לבצע זאת באמצעות הוספת הקוד הבא לקובץ functions.php:

add_filter( 'woocommerce_checkout_redirect_empty_cart', '__return_false' );
add_filter( 'woocommerce_checkout_update_order_review_expired', '__return_false' );

ביטול והסרת סכמה (Schema) ונתונים מובנים של Yoast

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

בגירסאות Yoast הנמוכות מגירסה 11.0 ניתן להסיר את הסכמה באמצעות הפילטר הבא:

function savvy_remove_yoast_json($data){
	$data = array();
	return $data;
}
add_filter('wpseo_json_ld_output', 'savvy_remove_yoast_json', 10, 1);

ועבור גירסאות Yoast הגבוהות מ 11.0 באמצעות פילטר זה:

add_filter( 'wpseo_json_ld_output', '__return_false' );

הצגת תאריך יחסי בוורדפרס

במקום להציג את התאריך המדוייק בו הפוסט שלכם פורסם, אתם יכולים להציג אותו באופן יחסי – ״ לפני 6 חודשים״ או ״לפני 3 שבועות״. השתמשו בקוד הבא בכדי לבצע זאת:

# For posts & pages #
<?php echo human_time_diff(get_the_time('U'), current_time('timestamp')) . ' ago'; ?>

# For comments #
<?php echo human_time_diff(get_comment_time('U'), current_time('timestamp')) . ' ago'; ?>

הצגת המספר הכולל של הפוסטים ב CPT מסויים

סניפט קצר זה מאפשר לכם להציג את המספר הכולל של הפוסטים עבור סוג תוכן ספציפי (Custom Post type). הוסיפו את הקוד היכן שאתם רוצים להציג את מספר הפוסטים ושנו את POST-TYPE-NAME לשם סוג התוכן שאת מספרו אתם מעוניינים להציג.

<?php
     // Get total number of posts in POST-TYPE-NAME
     $count_posts = wp_count_posts('POST-TYPE-NAME');
     $total_posts = $count_posts->publish;
     echo $total_posts;
?>

שינוי אורך התקציר הדיפולטיבי של וורדפרס

הפילטר הבא יאפשר לכם לקבוע את אורך התקציר שוורדפרס תציג בקריאה לפונקציה the_excerpt בדוגמה הבאה אנו קובעים כי אורך התקציר יהיה 20 תווים בלבד:

function new_excerpt_length($length) {
     return 20;
}
add_filter('excerpt_length', 'new_excerpt_length');

כיצד להציג סוגי תוכן מותאמים בתוצאות החיפוש

סוגי תוכן מותאמים אינם נכללים בתוצאות החיפוש של וורדפרס כברירת מחדל. הסניפט הבא יאפשר לכם לבחור אילו סוגי תוכן מותאמים יתווספו לתוצאות החיפוש של וורדפרס. הוסיפו קוד זה לקובץ functions.php של התבנית שלכם ושנו את שמות סוגי התוכן בהתאם:

function custom_post_type_search( $query ) {
     if ($query->is_search) {
          $query->set('post_type', array( 'post', 'myCustomPostType1', 'myCustomPostType2', 'myCustomPostType3'));
     }
     return $query;
}
add_filter( 'pre_get_posts', 'custom_post_type_search' );

אם אתם מעוניינים באפשרויות חיפוש והצגת תוצאות חיפוש מתוחכמות יותר תנו מבט בפוסט ״שיפור מנגנון החיפוש באמצעות Relevanssi״.

הצגת תוכן עבור מובייל בלבד באמצעות wp_is_mobile

ישנה פונקציה בשם wp_is_mobile המספקת תנאי שמאפשר להציג תוכן אך ורק כשהמשתמש צופה במובייל. הפונקציה מחזירה את הערך true כאשר האתר נטען במובייל. השימוש בה מתבצע בצורה הבאה:

<?php  if( wp_is_mobile()){  ?>
// mobile stuff goes here
<?php } else { ?>
// desktop stuff goes here
<?php  } ?>

שימו לב! – עליכם לשים לב כי מנגנון הקאש שלכם מבצע Caching בנפרד עבור מובייל ועבור דסקטופ. ניתן לבצע זאת למשל באמצעות התוסף WP-Rocket.