אם אתם משתמשים ב Disqus, שימו לב כי הוא טוען את קובץ ה Js שלו בכל עמוד ועמוד. הוסיפו את הקוד הבא לקובץ functions.php בכדי לגרום ל Disqus להטען רק בתבנית דף של פוסטים ורק כאשר התגובות פתוחות לאותו פוסט.
function tgm_tame_disqus_comments() {
if ( is_singular( array( 'post', 'page' ) ) && comments_open() )
return;
remove_action( 'loop_end', 'dsq_loop_end' );
remove_action( 'wp_footer', 'dsq_output_footer_comment_js' );
}
add_action( 'wp_head', 'tgm_tame_disqus_comments' );
נכתב ע״י רועי יוסף•עודכן ב- 10 לפברואר, 2018
Contact Form 7 הוא כלי מעולה להטמעת טפסים באתר וורדפרס, אך לפעמים הוא מוסיף תגיות <p>
ו <br>
לטופס. אם ברצונכם לבטל זאת הוסיפו את השורה הבאה לקובץ wp-config.php
:
define('WPCF7_AUTOP', false );
עוד מידע על התוסף CF7 תמצאו בפוסט המדבר על עיצוב התוסף Contact Form 7.
נכתב ע״י רועי יוסף•עודכן ב- 9 לאוגוסט, 2019
ישנם מספר דרכים להוסיף Google Fonts לאתר וורדפרס, אתן פה דוגמה לשתיים מהן. אפשרות ראשונה והפחות מומלצת היא להוסיף את הפונטים ישירות ל header.php
של התבנית (כמובן שעדיף בתבנית בת).
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Lora|Oswald" media="screen">
כשאתם משתמשים בשיטה זו שימו לב כי עליכם להוסיף את הקריאה ל Google Fonts לפני שאתם קוראים לקובץ stylesheet הראשי.
אפשרות שנייה ויותר מומלצת היא על ידי שימוש ב wp_register_style
ו wp_enqueue_style
. הוסיפו את הקוד הבא לקובץ functions.php
:
/* The Right way to add Google Fonts to WordPress */
function add_my_google_fonts() {
wp_register_style('my-googleFonts', 'https://fonts.googleapis.com/css?family=Open+Sans:300italic,300,600,700,400');
wp_enqueue_style( 'my-googleFonts');
}
add_action('wp_enqueue_scripts', 'add_my_google_fonts');
נסו להמנע מלבצע שתי קריאות או יותר לשרתים של גוגל – באפשרותכם להטמיע את כל הפונטים בקריאה אחת בלבד.
ישנה גם אפשרות להטמעה לוקאלית של פונטים מגוגל. להטמעה לוקאלית מספר יתרונות ואם מעניין אתכם הנושא, תנו מבט בפוסט טעינה לוקאלית של פונטים מגוגל (Google Fonts).
נכתב ע״י רועי יוסף•עודכן ב- 26 לנובמבר, 2019
פונקציה זו תוסיף class
לפוסט האחרון בלולאה של וורדפרס. שימוש בפונקציה זו תאפשר לכם לעצב בצורה שונה את הפוסט האחרון בדף הבית או בדפי הארכיון.
// Add a class to the last post in a loop
function last_post_class($classes){
global $wp_query;
if(($wp_query->current_post+1) == $wp_query->post_count) $classes[] = 'last';
return $classes;
}
add_filter('post_class', 'last_post_class');
נכתב ע״י רועי יוסף•עודכן ב- 5 לאוקטובר, 2017
אם אינכם מעוניינים בתגובות קצרות לפוסטים שלכם כגון 'תודה !' או 'מאמר נפלא…' וכו׳.. הוסיפו את הקוד הבא לקובץ functions.php
, וקבעו את מספר התווים המינימלי בשורה מספר 4.
function minimal_comment_length( $commentdata ) {
$minimalCommentLength = 20;
if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength ) {
wp_die( 'התגובה חייבת להכיל ' . $minimalCommentLength . ' תווים לפחות.' );
}
return $commentdata;
}
add_filter( 'preprocess_comment', 'minimal_comment_length' );
נכתב ע״י רועי יוסף•עודכן ב- 5 לאוקטובר, 2017
בכדי להסיר קטגוריית מוצרים מחנות בווקומרס , הוסיפו את הקוד הבא ל functions.php
ושנו את xxxxxx
במזהה הקטגורייה (slug) שברצונכם להסיר.
function custom_pre_get_posts_query( $q ) {
if ( ! $q->is_main_query() ) return;
if ( ! $q->is_post_type_archive() ) return;
if ( ! is_admin() && is_shop() ) {
$q->set( 'tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'xxxxxx' ), // Don't display products in the xxxxxx category on the shop page
'operator' => 'NOT IN'
)));
}
remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
}
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
נכתב ע״י רועי יוסף•עודכן ב- 16 לאוגוסט, 2020
סניפט קטן שנתקלתי בו ב WordPress Codex המאפשר הצגת הזמן שעבר מאז פורסם הפוסט.
הוסיפו את הקוד הבא לקובץ functions.php
:
/**
/**
* Display time since post was published
*
* @uses human_time_diff() Return time difference in easy to read format
* @uses get_the_time() Get the time the post was published
* @uses current_time() Get the current time
*
* @return string Timestamp since post was published
*
*/
function get_time_since_posted() {
$time_since_posted = 'לפני ' . human_time_diff( get_the_time( 'U' ), current_time( 'timestamp' ) );
return $time_since_posted;
}
לאחר מכן הוסיפו את הפונקציה בתוך הלולאה היכן שתרצו.
echo get_time_since_posted();
נכתב ע״י רועי יוסף•עודכן ב- 3 לספטמבר, 2020
פונקציה פשוטה הקובעת את מספר המילים שיוחזרו כאשר אתם קוראים לפונקציה the_excerpt
בוורדפרס. הוסיפו ל functions.php
ושנו את המספר בשורה 4 בהתאם.
/* change excerpt length */
function custom_excerpt_length( $length ) {
return 40;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
נכתב ע״י רועי יוסף•עודכן ב- 5 לאוקטובר, 2017
Gravity Froms הוא תוסף מצויין המאפשר להוסיף טפסים (forms) לאתר הוורדפרס שלכם. הוא מאפשר לעשות זאת בצורה נוחה ומהירה וכולל הרבה אפשרויות לשינויים פונקציונליים של הטפסים.
משום מה, הפלאגין אינו מאפשר הסרה של כפתור השליחה (Submit) מהטפסים שלו כך שאם תרצו להשתמש בו ולהטמיע כפתור משלכם תאלצו להסיר להסיר את הכפתור הסורר של הפלאגין. הוסיפו את השורה הבא לקובץ functions.php
:
/* remove submit button from gravity forms */
add_filter( 'gform_submit_button', '__return_false' );
נכתב ע״י רועי יוסף•עודכן ב- 5 לאוקטובר, 2017
התוסף Jetpack מוסיף עשרות אפשרויות לוורדפרס וניתן להפעיל את הפיצ׳רים בו במידת הצורך ולבחירתכם. בזמן כתיבת סניפט זה, במקום ש Jetpack תטען את ה styling בהתאם לפיצ׳רים שבחרתם, היא טוענת קובץ אחד גדול המכיל את כל ה css של כל הפיצ׳רים.
נתקלתי במצב בו אני צריך להשתמש רק בפיצ׳ר קטן ופשוט שאינו מצריך css, וזה הפיטצ׳ר של הרשמה לפוסטים ותגובות. בכדי לבטל את הטעינה של ה css המיותר השתמשתי בקוד זה functions.php
:
// First, make sure Jetpack doesn't concatenate all its CSS
add_filter( 'jetpack_implode_frontend_css', '__return_false' );
// Then, remove each CSS file, one at a time
function jeherve_remove_all_jp_css() {
wp_deregister_style( 'AtD_style' ); // After the Deadline
wp_deregister_style( 'jetpack_likes' ); // Likes
wp_deregister_style( 'jetpack_related-posts' ); //Related Posts
wp_deregister_style( 'jetpack-carousel' ); // Carousel
wp_deregister_style( 'grunion.css' ); // Grunion contact form
wp_deregister_style( 'the-neverending-homepage' ); // Infinite Scroll
wp_deregister_style( 'infinity-twentyten' ); // Infinite Scroll - Twentyten Theme
wp_deregister_style( 'infinity-twentyeleven' ); // Infinite Scroll - Twentyeleven Theme
wp_deregister_style( 'infinity-twentytwelve' ); // Infinite Scroll - Twentytwelve Theme
wp_deregister_style( 'noticons' ); // Notes
wp_deregister_style( 'post-by-email' ); // Post by Email
wp_deregister_style( 'publicize' ); // Publicize
wp_deregister_style( 'sharedaddy' ); // Sharedaddy
wp_deregister_style( 'sharing' ); // Sharedaddy Sharing
wp_deregister_style( 'stats_reports_css' ); // Stats
wp_deregister_style( 'jetpack-widgets' ); // Widgets
wp_deregister_style( 'jetpack-slideshow' ); // Slideshows
wp_deregister_style( 'presentations' ); // Presentation shortcode
wp_deregister_style( 'jetpack-subscriptions' ); // Subscriptions
wp_deregister_style( 'tiled-gallery' ); // Tiled Galleries
wp_deregister_style( 'widget-conditions' ); // Widget Visibility
wp_deregister_style( 'jetpack_display_posts_widget' ); // Display Posts Widget
wp_deregister_style( 'gravatar-profile-widget' ); // Gravatar Widget
wp_deregister_style( 'widget-grid-and-list' ); // Top Posts widget
wp_deregister_style( 'jetpack-widgets' ); // Widgets
}
add_action('wp_enqueue_scripts', 'jeherve_remove_all_jp_css' );
נכתב ע״י רועי יוסף•עודכן ב- 22 לינואר, 2018