חיפוש ]

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

הצגת הזמן שעבר מאז פורסם הפוסט בוורדפרס

סניפט קטן שנתקלתי בו ב WordPress Codex המאפשר הצגת הזמן שעבר מאז פורסם הפוסט. הוסיפו את הקוד הבא לקובץ functions.php : /** /** * Display time since post was published * * @uses human_time_diff() Return time difference in easy to [...]

סניפט קטן שנתקלתי בו ב 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();

קביעת מספר המילים בתקציר

פונקציה פשוטה הקובעת את מספר המילים שיוחזרו כאשר אתם קוראים לפונקציה the_excerpt בוורדפרס. הוסיפו ל functions.php ושנו את המספר בשורה 4 בהתאם. /* change excerpt length */ function custom_excerpt_length( $length ) { return 40; } add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

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


/* change excerpt length */
function custom_excerpt_length( $length ) {
	return 40;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

הסרת כפתור Submit ב Gravity Forms

Gravity Froms הוא תוסף מצויין המאפשר להוסיף טפסים (forms) לאתר הוורדפרס שלכם. הוא מאפשר לעשות זאת בצורה נוחה ומהירה וכולל הרבה אפשרויות לשינויים פונקציונליים של הטפסים. משום מה, הפלאגין אינו מאפשר הסרה של כפתור השליחה (Submit) מהטפסים שלו כך שאם [...]

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

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

/* remove submit button from gravity forms */
    add_filter( 'gform_submit_button', '__return_false' );

הסרת Jetpack CSS

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

התוסף 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' );

ביטול האפשרות להוספת html בתגובות

כברירת מחדל וורדפרס מאפשרת הוספת תגיות html בתגובות כגון קישורים יוצאים, תגיות למינהן וכדומה. אמנם הקישורים בתגובות מכילים rel=nofollow בצורה אוטומטית, אך אם תרצו בכל זאת לבטל לגמרי את האפשרות להוסיף html כלשהו בתגובות הוסיפו פשוט את השורה הבאה לקובץ [...]

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

אמנם הקישורים בתגובות מכילים rel=nofollow בצורה אוטומטית, אך אם תרצו בכל זאת לבטל לגמרי את האפשרות להוסיף html כלשהו בתגובות הוסיפו פשוט את השורה הבאה לקובץ functions.php:

add_filter( 'pre_comment_content', 'esc_html' );

הסרת גרסאות פוסטים בוורדפרס

וורדפרס כוללת פונקציונליות המאפשרת לכם לעקוב אחר שינויים בפוסטים שנכתבו ואף לשחזר גרסאות קודמות (Post Revisions) של אותם פוסטים. עם זאת, אלו מגדילים את הנפח של הטבלה wp_posts בדטאבייס מכיוון וכל גירסה כזו היא עוד שורה בטבלה. על מנת לבטל [...]

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

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

define( 'WP_POST_REVISIONS', false);

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

define( 'WP_POST_REVISIONS', X);

כאשר את X שנו למספר הגרסאות שברצונכם שיישמרו.

איך לבטל את סרגל הכלים בוורדפרס למשתמשים רשומים

הגדרה מאד מציקה – וורדפרס מציגה את סרגל הכלים העליון לכל המשתמשים המחוברים לאתר על יד החשבון שלהם ב wordpress.com. על מנת להסיר את סרגל הכלים הוסיפו את השורה הבאה לקובץ functions.php : add_filter('show_admin_bar', '__return_false');

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

add_filter('show_admin_bar', '__return_false');

ביטול תגובות בוורדפרס

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

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

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

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


// Disable support for comments and trackbacks in post types
function sv_disable_comments_post_types_support() {
	$post_types = get_post_types();
	foreach ($post_types as $post_type) {
		if(post_type_supports($post_type, 'comments')) {
			remove_post_type_support($post_type, 'comments');
			remove_post_type_support($post_type, 'trackbacks');
		}
	}
}
add_action('admin_init', 'sv_disable_comments_post_types_support');



// Close comments on the front-end
function sv_disable_comments_status() {
	return false;
}
add_filter('comments_open', 'sv_disable_comments_status', 20, 2);
add_filter('pings_open', 'sv_disable_comments_status', 20, 2);



// Hide existing comments
function sv_disable_comments_hide_existing_comments($comments) {
	$comments = array();
	return $comments;
}
add_filter('comments_array', 'sv_disable_comments_hide_existing_comments', 10, 2);



// Remove comments page in menu
function sv_disable_comments_admin_menu() {
	remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'sv_disable_comments_admin_menu');



// Redirect any user trying to access comments page
function sv_disable_comments_admin_menu_redirect() {
	global $pagenow;
	if ($pagenow === 'edit-comments.php') {
		wp_redirect(admin_url()); exit;
	}
}
add_action('admin_init', 'sv_disable_comments_admin_menu_redirect');



// Remove comments metabox from dashboard
function sv_disable_comments_dashboard() {
	remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
}
add_action('admin_init', 'sv_disable_comments_dashboard');



// Remove comments links from admin bar
function sv_disable_comments_admin_bar() {
	if (is_admin_bar_showing()) {
		remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
	}
}
add_action('init', 'sv_disable_comments_admin_bar');

הסרת חוות דעת מהמוצרים בווקומרס

כברירת מחדל, בדף מוצר בווקומרס מופיע טאב ״חוות דעת״ (reviews) אשר מאפשר לגולשים להשאיר ביקורת על מוצר מסויים. אם ברצונכם להסיר את מנגנון חוות הדעת ב Woocommerce באתר הוורדפרס שלכם שלכם הוסיפו את הקוד הבא לקובץ functions.php: /* REMOVE REVIEW [...]

כברירת מחדל, בדף מוצר בווקומרס מופיע טאב ״חוות דעת״ (reviews) אשר מאפשר לגולשים להשאיר ביקורת על מוצר מסויים. אם ברצונכם להסיר את מנגנון חוות הדעת ב Woocommerce באתר הוורדפרס שלכם שלכם הוסיפו את הקוד הבא לקובץ functions.php:


/* REMOVE REVIEW TAB FROM WOOCOMMERCE PRODUCTS */

add_filter( 'woocommerce_product_tabs', 'sb_woo_remove_reviews_tab', 98);

function sb_woo_remove_reviews_tab($tabs) {
   unset($tabs['reviews']);
   return $tabs;
}

הפנייה לדף תחזוקה (Maintanance Mode) בוורדפרס

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

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

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

הוסיפו את השורות הבאות לקובץ .htaccess שימו לב כי אתם נדרשים לשנות את הקוד הנ״ל ולהחליף את הכתובת בשורה 3 ל ip שלכם בכדי שתהיה לכם האפשרות לגשת לאתר. שימו לב גם לשנות את שם הדף ומיקומו בהתאם להגדרות שלכם בשורה 3.

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]
Savvy WordPress Development