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

הצגת תוכן עבור מובייל בלבד באמצעות 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.

הוספת קלאס לפוסט הראשון בלולאה של וורדפרס

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

function wps_first_post_class( $classes ) {
    global $wp_query;
    if( 0 == $wp_query->current_post )
        $classes[] = 'first';
        return $classes;
}
add_filter( 'post_class', 'wps_first_post_class' );

קביעת מבנה הקישורים באמצעות קוד

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

function set_permalink(){
     global $wp_rewrite;
     $wp_rewrite->set_permalink_structure('/%year%/%monthnum%/%postname%/');
}
add_action('init', 'set_permalink');

שימו לב כי גם במקרה זה על mod_rewrite להיות פעיל בשרת.

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

הוספת תקציר (excerpt) לעמודים בוורדפרס

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

/**** BEGIN HERE ****/
if (current_user_can('contributor') && !current_user_can('upload_files'))
    add_action('admin_init', 'allow_contributor_uploads');
function allow_contributor_uploads() {
    $contributor = get_role('contributor');
    $contributor->add_cap('upload_files');
}

הצגת ענן תגיות בתבניות וורדפרס

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

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

<?php wp_tag_cloud(array(
     'smallest' => 10, // size of least used tag
     'largest' => 18, // size of most used tag
     'unit' => 'px', // unit for sizing
     'orderby' => 'name', // alphabetical
     'order' => 'ASC', // starting at A
     'exclude' => 6 // ID of tag to exclude from list
     ));
?>

הסרת סרגל הכלים (Toolbar) של וורדפרס

הפילטר הבא מאפשר להסיר את סרגל הכלים של וורדפרס (WordPress Toolbar). הוסיפו את הקוד לקובץ functions.php:

add_filter('show_admin_bar', '__return_false');

כיצד לאפשר לתורמים (Contributers) להעלות תמונות

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

בכדי לאפשר לאלו להעלות תמונות לספריית המדיה של וורדפרס הוסיפו את הקוד הבא לקובץ functions.php:

<?php
/**** BEGIN HERE ****/
if (current_user_can('contributor') && !current_user_can('upload_files'))
add_action('admin_init', 'allow_contributor_uploads');
function allow_contributor_uploads() {
$contributor = get_role('contributor');
$contributor->add_cap('upload_files');
}

ביטול אפשרות החיפוש בווורדפרס

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

function fb_filter_query( $query, $error = true ) {
    if ( is_search() ) {
        $query->is_search = false;
        $query->query_vars[s] = false;
        $query->query[s] = false;
        // to error
        if ( $error == true )
            $query->is_404 = true;
    }
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

לחילופין – אם אתם מעוניינים לשדרג את אפשרויות החיפוש של וורדפרס אני מאד ממליץ להשתמש בתוסף Relevanssi.

הצגת התמונה הראשית של הפוסט ב RSS Feed

אם אתם מעוניינים להציג את התמונה הראשית של הפוסט ב RSS (חיוני אם אתם משתמשים ב RSS עבור Mailchimp למשל), הוסיפו את הקוד הבא לקובץ functions.php:

// Put post thumbnails into rss feed
function savvy_feed_post_thumbnail($content) {
    global $post;
    if(has_post_thumbnail($post->ID)) {
        $content = '' . $content;
    }
    return $content;
}
add_filter('the_excerpt_rss', 'savvy_feed_post_thumbnail');
add_filter('the_content_feed', 'savvy_feed_post_thumbnail');

הוספת CSS לממשק הניהול של וורדפרס (Admin Area)

בכדי לבצע זאת הוסיפו את הקוד הבא לקובץ functions.php ושנו את ה CSS בהתאם. אגב אם אתם מעוניינים לדעת מהי הדרך הנכונה להוסיף נכסים (קבצי CSS ו JS לממשק הניהול של וורדפרס – תנו מבט בפוסט הדרך הנכונה לטעון סקריפטים בממשק הניהול של וורדפרס.

function my_custom_fonts() {
    echo '<style>
    body {
      font-size: 12px;
    } 
  </style>';
}

add_action('admin_head', 'my_custom_fonts');

שינוי אייקונים בעמוד התשלום של ווקומרס

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

<?php
/**
 * Add custom gateway icons
 * 
 * @param  string $icon       Image HTML.
 * @param  string $gateway_id Gateway ID.
 * 
 * @return string
 */
function custom_wc_gateway_icons( $icon, $gateway_id ) {
	// Example for PayPal:
	if ( 'paypal' == $gateway_id ) {
		$icon = '<img src="' . WC_HTTPS::force_https_url( 'http://your-site.com/image.png' ) . '" alt="' . __( 'PayPal' ) . '" />'
	}
	return $icon;
}
add_filter( 'woocommerce_gateway_icon', 'custom_wc_gateway_icons', 10, 2 );

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

בכדי לשנות את מספר הפריטים בעמוד ההזמנות של ווקומרס (ב Front) ניתן להשתמש בקוד הבא כאשר X הוא מספר הפריטים המקסימלי שיוצג (functions.php):

function custom_my_account_orders( $args ) {
    $args['posts_per_page'] = X;
    return $args;
}
add_filter( 'woocommerce_my_account_my_orders_query', 'custom_my_account_orders', 10, 1 );

עוד על ניהול וטיפול בהזמנות באתרי ווקומרס תמצאו בפוסט טיפול וניהול הזמנות (Orders) באתרי ווקומרס.

הוספת קישור לפירורי הלחם של Yoast SEO

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

function yoast_seo_breadcrumb_append_link( $links ) {
    global $post;
        $breadcrumb[] = array(
            'url' => site_url( '/blog/' ),
            'text' => 'Blog',
        );
        array_splice( $links, 1, -2, $breadcrumb );
    return $links;
}
add_filter( 'wpseo_breadcrumb_links', 'yoast_seo_breadcrumb_append_link' );

הנה מאמר רחב יותר המסביר על כיצד להוסיף פירורי לחם באתרי וורדפרס…

כיצד להגדיל Maximum Execution Time באתרי וורדפרס

אולי נתקלתם בהודעה "Maximum execution time of 30 seconds exceeded". הודעה זו אומרת כי לפעולה שאתם מבצעים לוקח זמן רב יותר להתבצע מהמותר. ישנן מספר דרכים לטפל בכך:

1. לערוך את wp-config.php

הוסיפו את הקוד הבא ל wp-config.php:

set_time_limit(200);

2. ערכו את הקובץ htaccess

וודאו כי אתם מגבים קובץ זה לפני והוסיפו את הקוד הבא:

php_value max_execution_time 200

3. ערכו את הקובץ php.ini

הוסיפו את השורה הבאה לקובץ php.ini:

max_execution_time = 200

אם זה לא עובד נסו להתייעץ עם חברת האחסון שלכם…

מעבר לכך, אם אתם מעוניינים בטיפים ואפשרויות מעניינות המתבצעות דרך הקובץ wp-config.php תנו מבט בפוסט אופטימיזציה לקונפיגורציה של וורדפרס באמצעות wp-config.php.