ארכיון: סניפטס

כיצד להגדיל 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

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

הסרת פירורי לחם של ווקומרס בעמודים מסויימים

אם אתם מחפשים דרך להסיר את פירורי הלחם (Breadcrumbs) באתרים העובדים עם ווקומרס, תוכלו לעשות זאת בצורה הבאה:

/**
 * Remove the breadcrumbs
 */
function savvy_remove_shop_breadcrumbs() {
    if (is_shop()) {

        remove_action('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);
    }
}
add_action('init', 'savvy_remove_shop_breadcrumbs');

קוד זה יסיר את פירורי הלחם בעמוד החנות הראשי אך אתם יכולים להשתמש בכל תנאי אחר עבור סוגי עמודים אחרים.

איך לשנות את כתובת החיפוש של וורדפרס

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

function savvy_search_url_rewrite_rule() {
    if ( is_search() && !empty($_GET['s'])) {
        wp_redirect(home_url("/search/") . urlencode(get_query_var('s')));
        exit();
    }
}
add_action('template_redirect', 'savvy_search_url_rewrite_rule');

לאחר הוספת קוד זה, כתובת ה URL של החיפוש בוורדפרס תראה בצורה הבאה:

http://domain.co.il/search/searchterm

הגבלת העלאה של סוגי קבצים מסויימים בוורדפרס

הדוגמה הבאה תגביל את אפשרות העלאת הקבצים בספריית המדיה רק עבור קבצי JPG ו GIF. אם אתם מעוניינים לאפשר גם קבצי PNG לצורך העניין הוסיפו את השורה 'png' => 'image/png' לקוד זה:

function savvy_restrict_mime($mimes) {
    $mimes = array(
        'jpg|jpeg|jpe' => 'image/jpeg',
        'gif' => 'image/gif',
    );
    return $mimes;
}
add_filter('upload_mimes','savvy_restrict_mime');

הוספת קישור לפוסט המלא בתקציר הפוסט

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

function savvy_excerpt_link_post($text) {
    return str_replace( '[...]', '<a href="'. get_permalink( get_the_ID() ) . '" title="' . esc_attr( get_the_title( get_the_ID() ) ) . '">' . '[&hellip;]' . '</a>', $text );
}
add_filter('the_excerpt', 'savvy_excerpt_link_post');

כיצד לאפשר Inline SVG בעורך התוכן של וורדפרס

כברירת מחדל, וורפרס אינה מאפשרת את כול סוגי הקוד בעורך התוכן של וורדפרס. למשל, Inline SVG's מכילים המון תגיות כגון , וכדומה. אז בכדי לאפשר Inline SVG יש להשתמש בקוד הבא (functions.php):

function override_mce_options($initArray) {
    $opts = '*[*]';
    $initArray['valid_elements'] = $opts;
    $initArray['extended_valid_elements'] = $opts;
    return $initArray;
}
add_filter('tiny_mce_before_init', 'override_mce_options');

שימו לב כי קוד זה מאפשר שימוש בכל תגית, לא משנה איזה – בין אם הקשורה ל SVG ובין אם לא.

מקבלים HTTP Error כשאתם מעלים תמונות באתר וורדפרס?

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

  • שם קובץ בעייתי (סימנים מיוחדים וכדומה).
  • משקל הקובץ הוא מעבר למה שהשרת מאפשר (upload_max_size).
  • זכרון PHP בשרת אינו מספיק.
  • אין מספיק שטח אחסון בשרת.
מקבלים HTTP Error כשאתם מעלים תמונות באתר וורדפרס?

שגיאת HTTP בספריית המדיה של וורדפרס.

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

define( 'WP_MEMORY_LIMIT', '256M' );

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

php_value memory_limit 256M

אם יש לכם גישה לקובץ php.ini אז ניתן לעשות זאת על ידי הקוד הבא:

memory_limit = 256M

במצבים מסויימים גם ModSecurity בשרת יכול למנוע מכם להעלות קבצים. ניתן לבטל אותו דרך cPanel או לנסות את השורות הבאות בקובץ .htaccess (בטלו אם מופיעה שגיאה). נציין כי ישנה סיבה טובה ש ModSecurity קיים לטובת אבטחת אתר הוורדפרס שלכם:

SecFilterEngine Off 
SecFilterScanPOST Off 

קובץ gitignore המיועד לאתרי וורדפרס

הקובץ gitignore מסמן ל Git לא לעקוב (track) אחר קבצים מסויימים בפרוייקט. אם מדברים על וורדפרס, הנה קובץ gitignore מומלץ שניתן לשנות בהתאם לצורך הפרוייקט שלכם:

# -----------------------------------------------------------------
# .gitignore for WordPress
# -----------------------------------------------------------------

# ignore everything in the root except the "wp-content" directory.
/*
!wp-content/

# ignore all files starting with .
.*

# track this file .gitignore (i.e. do NOT ignore it)
!.gitignore

# track .editorconfig file (i.e. do NOT ignore it)
!.editorconfig

# track readme.md in the root (i.e. do NOT ignore it)
!readme.md

# ignore all files that start with ~
~*

# ignore OS generated files
ehthumbs.db
Thumbs.db

# ignore Editor files
*.sublime-project
*.sublime-workspace
*.komodoproject

# ignore log files and databases
*.log
*.sql
*.sqlite

# ignore compiled files
*.com
*.class
*.dll
*.exe
*.o
*.so

# ignore packaged files
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# ignore everything in the "wp-content" directory, except:
# "mu-plugins" directory
# "plugins" directory
# "themes" directory
wp-content/*
!wp-content/mu-plugins/
!wp-content/plugins/
!wp-content/themes/

# ignore these plugins from the core
wp-content/plugins/hello.php
wp-content/plugins/akismet/

# ignore specific themes
wp-content/themes/twenty*/

# ignore node/grunt dependency directories
node_modules/

הצגת משקל מוצר של ווקומרס תחת הכותרת בעמודי ארכיון

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

ווקומרס בגירסה 3.0+

/**
 * Show product weight on archive pages
 */
add_action( 'woocommerce_after_shop_loop_item', 'savvy_show_weights', 9 );

function savvy_show_weights() {

    global $product;
    $weight = $product->get_weight();

    if ( $product->has_weight() ) {
        echo '<div class="product-meta"><span class="product-meta-label">Weight: </span>' . $weight . get_option('woocommerce_weight_unit') . '</div></br>';
    }
}

הצגה של מימדי מוצר ווקומרס בעמוד ארכיון

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

ווקומרס בגירסה 3.0+

/**
 * Show product dimensions on archive pages for WC 3+
 */
add_action( 'woocommerce_after_shop_loop_item', 'savvy_show_dimensions', 9 );

function savvy_show_dimensions() {
    global $product;
    $dimensions = wc_format_dimensions($product->get_dimensions(false));

        if ( $product->has_dimensions() ) {
                echo '<div class="product-meta"><span class="product-meta-label">Dimensions: </span>' . $dimensions . '</div>';
        }
}

ווקומרס בגירסה נמוכה מ 3.0


/**
 * Show product dimensions on archive pages WC 3 and below
 */
add_action( 'woocommerce_after_shop_loop_item_title', 'wc_show_dimensions', 9 );

function wc_show_dimensions() {
	global $product;
	$dimensions = $product->get_dimensions();

        if ( ! empty( $dimensions ) ) {
                echo '<span class="dimensions">' . $dimensions . '</span>';
        }
}