אנו משתמשים בפילטר בשם pre_get_posts על מנת לבצע מודיפיקציה ללואה הראשית ולהגדיר כי תתעלם מפוסטים דביקים. שימו לב כי פעולה זו תגרום לכך שהם לא יופיעו בשום מקום כאשר תקראו ללולאה. אם תרצו להציג אותם, תאלצו לכתוב לולאה משלכם מעל [...]
אנו משתמשים בפילטר בשם pre_get_posts
על מנת לבצע מודיפיקציה ללואה הראשית ולהגדיר כי תתעלם מפוסטים דביקים. שימו לב כי פעולה זו תגרום לכך שהם לא יופיעו בשום מקום כאשר תקראו ללולאה. אם תרצו להציג אותם, תאלצו לכתוב לולאה משלכם מעל הלולאה הראשית הקוראת רק לאותם פוסטים דביקים:
/**
* Snippet Name: Remove sticky posts from the main query
*/
function sv_ignore_sticky( $query ) {
if ( is_home() && $query->is_main_query() ) {
$query->set( 'ignore_sticky_posts', true );
}
$query->set( 'post__not_in', get_option( 'sticky_posts' ) );
}
add_action( 'pre_get_posts', 'sv_ignore_sticky' );
לפעמים יש צורך להוסיף תכונה מסויימת לתמונה. ניתן לעשות זאת במהירות באמצעות הפונקציה the_post_thumbnail. הסניפט הבא יוסיף את התכונה 'itemprop'=>'image' לתמונות אך אתם יכולים להשתמש בזה גם לבכדי להוסיף class, alt, title וכדומה.
לפעמים יש צורך להוסיף תכונה מסויימת לתמונה. ניתן לעשות זאת במהירות באמצעות הפונקציה the_post_thumbnail. הסניפט הבא יוסיף את התכונה 'itemprop'="image"
לתמונות אך אתם יכולים להשתמש בזה גם בכדי להוסיף class, alt, title וכדומה.
the_post_thumbnail( 'thumbnail', array('itemprop'=>'image') );
ישנן מצבים בהם תרצו להגביל את עורכי התוכן באתר מלהעלות תמונות מעבר לגודל מסויים. ניתן אף להיות ספציפים יותר ולאפשר העלאת תמונות בגודל ספציפי ומדוייק ברמת הפיקסל. הוסיפו את הקוד הבא לקובץ functions.php:
ישנן מצבים בהם תרצו להגביל את עורכי התוכן באתר מלהעלות תמונות מעבר לגודל מסויים. ניתן אף להיות ספציפים יותר ולאפשר העלאת תמונות בגודל ספציפי ומדוייק ברמת הפיקסל. הוסיפו את הקוד הבא לקובץ functions.php
:
/*
* Check image resolution (px) before crunching
*/
function savvy_validate_image_size( $file ) {
$image = getimagesize($file['tmp_name']);
$minimum = array(
'width' => '460',
'height' => '460'
);
$maximum = array(
'width' => '1280',
'height' => '1280'
);
$image_width = $image[0];
$image_height = $image[1];
$too_small = "Image dimensions are too small. Minimum size is {$minimum['width']} by {$minimum['height']} pixels. Uploaded image is $image_width by $image_height pixels.";
$too_large = "Image dimensions are too large. Maximum size is {$maximum['width']} by {$maximum['height']} pixels. Uploaded image is $image_width by $image_height pixels.";
if ( $image_width < $minimum['width'] || $image_height < $minimum['height'] ) {
// add in the field 'error' of the $file array the message
$file['error'] = $too_small;
return $file;
}
elseif ( $image_width > $maximum['width'] || $image_height > $maximum['height'] ) {
//add in the field 'error' of the $file array the message
$file['error'] = $too_large;
return $file;
}
else
return $file;
}
add_filter('wp_handle_upload_prefilter','savvy_validate_image_size');
באפשרותכם לשנות את גובה ורוחב המינימום והמקסימום של התמונה (פיקסלים) בשורות 6-12. אתם מוזמנים אגב לתת מבט על פוסט רחב יותר המדבר על גודל התמונות בוורדפרס.
כאשר אתם כותבים פוסט, הוא יישמר אוטומטית כטיוטה כל דקה. במקרה והדפדפן שלכם קורס זה יאפשר לכם לשחזר את העבודה. ניתן לשנות את הזמן בין שמירה לשמירה על ידי הוספת השורה הבאה לקובץ wp-config.php. define( 'AUTOSAVE_INTERVAL', X); כאשר X הוא [...]
כאשר אתם כותבים פוסט, הוא יישמר אוטומטית כטיוטה כל דקה. במקרה והדפדפן שלכם קורס זה יאפשר לכם לשחזר את העבודה. ניתן לשנות את הזמן בין שמירה לשמירה על ידי הוספת השורה הבאה לקובץ wp-config.php
.
define( 'AUTOSAVE_INTERVAL', X);
כאשר X הוא מספר השניות בין שמירה לשמירה.
ישנם לא מעט מצבים בהם תרצו להסתיר את המחירים בחנות ווקומרס ולהציג אותם עבור משתמשים מסויימים לפי קריטריון כזה או אחר. לווקומרס קיים פילטר בשם woocommerce_get_price_html המאפשר לעשות זאת בקלות והשימוש בו מתבצע בצורה הבאה. בקוד זה השתמשנו בתנאי הקובע [...]
ישנם לא מעט מצבים בהם תרצו להסתיר את המחירים בחנות ווקומרס ולהציגם למשתמשים מסויימים לפי קריטריון כזה או אחר. לווקומרס קיים פילטר בשם woocommerce_get_price_html המאפשר לעשות זאת בקלות והשימוש בו מתבצע בצורה הבאה:
add_filter( 'woocommerce_get_price_html', function( $price ) {
if ( is_user_logged_in() ) return $price;
return '';
} );
בקוד מעלה (אותו יש להוסיף ל functions.php
) השתמשנו בתנאי הקובע כי אם המשתמש אינו מחובר למערכת המחירים לא יוצגו עבורו בחנות. כמובן שאתם יכולים להשתמש בכל תנאי שתבחרו.
מעוניינים להסתיר את מחירי המבצע למוצרים שלכם? הנה דרך להסיר באופן גורף מחירי מבצע של מוצרים באתרי ווקומרס. הוסיפו את הקוד לקובץ functions.php של תבנית הבת שלכם: /** * Savvy Disable all sales on WooCommerce Stores. * */ function savvy_wc_get_sale_price( [...]
מעוניינים להסתיר את מחירי המבצע למוצרים שלכם? הנה דרך להסיר באופן גורף מחירי מבצע של מוצרים באתרי ווקומרס. הוסיפו את הקוד לקובץ functions.php
של תבנית הבת שלכם:
/**
* Savvy Disable all sales on WooCommerce Stores.
*
*/
function savvy_wc_get_sale_price( $sale_price, $product ) {
return $product->get_regular_price(); // Un-comment this to disable all sale prices
}
add_filter( 'woocommerce_product_get_sale_price', 'savvy_wc_get_sale_price', 50, 2 );
add_filter( 'woocommerce_product_get_price', 'savvy_wc_get_sale_price', 50, 2 );
לא פעם קרה לי כי הסרגל העליון (admin bar) של וורדפרס הפריע לי בעיניים מכיוון והסתיר תפריטים שהיו מוגדרים כ - position:fixed ב css. מספר שורות ב functions.php והאדמין יירד לתחתית העמוד....
כיצד לשנות בוורדפרס את המיקום של הסרגל העליון?
לא פעם קרה לי כי הסרגל העליון (admin bar) של וורדפרס הפריע לי בעיניים מכיוון והסתיר תפריטים שהיו מוגדרים כ – position:fixed
ב css
. מספר שורות ב functions.php
והאדמין יירד לתחתית העמוד:
<?php
/***** BEGIN HERE *****/
function fb_move_admin_bar() { ?>
<style type="text/css">
body {
margin-top: -28px;
padding-bottom: 28px;
}
body.admin-bar #wphead {
padding-top: 0;
}
body.admin-bar #footer {
padding-bottom: 28px;
}
#wpadminbar {
top: auto !important;
bottom: 0;
}
#wpadminbar .quicklinks .menupop ul {
bottom: 28px;
}
</style>
<?php }
// on backend area
add_action( 'admin_head', 'fb_move_admin_bar' );
// on frontend area
add_action( 'wp_head', 'fb_move_admin_bar' );
שימו לב להערות בקוד! לדוגמה, במידה ונחוץ עימוד ממוספר(Pagination) אין להשתמש ב no_found_rows=true. $args = array( // Normal query arguments goes here // 'no_found_rows' => true, // counts posts, remove if pagination required 'update_post_term_cache' => false, // grabs terms, remove if [...]
שימו לב להערות בקוד! לדוגמה, במידה ונחוץ עימוד ממוספר(Pagination) אין להשתמש ב no_found_rows=true
.
$args = array(
// Normal query arguments goes here //
'no_found_rows' => true, // counts posts, remove if pagination required
'update_post_term_cache' => false, // grabs terms, remove if terms required (category, tag...)
'update_post_meta_cache' => false, // grabs post meta, remove if post meta required
);
$loop = new WP_Query( $args );
למידע נוסף בקרו במאמר הבא.
קובץ ה Sitemap נועד לעזור למנועי חיפוש לאנדקס את האתר שלכם ולמצוא את הדפים החשובים ביותר בקלות. אם אינכם רוצים כי ה Sitemap יופיע בתוצאות החיפוש של גוגל, הוסיפו את השורות הבאות לקובץ htaccessהנמצא בתיקייה הראשית בה וורדפרס מותקנת: <IfModule [...]
קובץ ה Sitemap נועד לעזור למנועי חיפוש לאנדקס את האתר שלכם ולמצוא את הדפים החשובים ביותר בקלות. אם אינכם רוצים כי ה Sitemap יופיע בתוצאות החיפוש של גוגל, הוסיפו את השורות הבאות לקובץ htaccess
הנמצא בתיקייה הראשית בה וורדפרס מותקנת:
<IfModule mod_rewrite.c>
<Files sitemap.xml>
Header set X-Robots-Tag "noindex"
</Files>
</IfModule>
שימו לב להחליף את sitemap.xml
בשם הקובץ של ה Sitemap שלכם. עוד מידע על מהו Sitemap (מפת אתר) תמצאו בפוסט כיצד ליצור Sitemap (מפת אתר) בוורדפרס ואיך לשלוח קובץ זה באמצעות גוגל סרץ׳ קונסול.
אתם מעוניינים כי מנועי חיפוש יאנדקסו את דפי הבלוג אך לא את קבצי ה php של התקנת וורדפרס. ערכו את הקובץrobots.txt והוסיפו את השורות הבאות על מנת לחסום מנועי חיפוש מלאנדקס קבצים אלו: User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/ Disallow: [...]
אתם מעוניינים כי מנועי חיפוש יאנדקסו את דפי הבלוג אך לא את קבצי ה php של התקנת וורדפרס. ערכו את הקובץrobots.txt
והוסיפו את השורות הבאות על מנת לחסום מנועי חיפוש מלאנדקס קבצים אלו:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /feed/
Disallow: */feed/