חיפוש ]

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

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

סניפט זה יגרום לכך שבמידה ותבצעו חיפוש באתר הוורדפרס שלכם ותקבלו חזרה תוצאה אחת בלבד, תבוצע הפניה אוטומטית לפוסט זה שחזר במקום שתוצאות החיפוש יוצגו כרגיל. function single_result() { if (is_search()) { global $wp_query; if ($wp_query->post_count == 1) { wp_redirect( get_permalink( [...]

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

function single_result() {
    if (is_search()) {
        global $wp_query;
        if ($wp_query->post_count == 1) {
            wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
        }
    }
}

add_action('template_redirect', 'single_result');

עיצוב anchor tags לפי סוג הקישור

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

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

/* external links */
a[href^="http://"]{
    padding-right: 20px;
    background: url(external.gif) no-repeat center right;
}
 
/* emails */
a[href^="mailto:"]{
    padding-right: 20px;
    background: url(email.png) no-repeat center right;
}
 
/* pdfs */
a[href$=".pdf"]{
    padding-right: 20px;
    background: url(pdf.png) no-repeat center right;
}

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

ניתן להפנות משתמשים אשר מתחברים לאתר ל URL שונה בהתאם לתפקיד (role) שלהם.

ניתן להפנות משתמשים אשר מתחברים לאתר הוורדפרס שלכם לכתובת url שונה בהתאם לתפקיד (role) שלהם.


function redirect_user_on_role()
{
	// קח מידע לגבי המשתמש הנוכחי
	global $current_user;
     	get_currentuserinfo();
 	// אם תפקיד המשתמש הוא מנוי
     	if ($current_user->user_level == 0)
     	{
        	wp_redirect( home_url() ); exit;
     	}
 	// אם תפקיד המשתמש הוא תורם
 	else if ($current_user->user_level > 1)
 	{
        	 wp_redirect( home_url() ); exit;
     	}
  	// אם תפקיד המשתמש הוא עורך
     	else if ($current_user->user_level >8)
     	{
		wp_redirect( home_url() ); exit;
     	}
 	// תפקידים אחרים...
	else
     	{
      		$redirect_to = 'http://google.com/';
        	return $redirect_to;
 	}
}
add_action('admin_init','redirect_user_on_role');

הפניית WWW לכתובת ללא WWW ולהפך – HTACCESS

אם ברצונכם להפנות כל כתובת באתר שלכם המכילה www לכתובת ללא www, כלומר http:/www.my-domain.co.il ל http://my-domain.co.il הוסיפו את הקוד הבא לקובץ htaccess: RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] אם ברצונכם לבצע את הפעולה ההפוכה, כלומר להפנות [...]

אם ברצונכם להפנות כל כתובת באתר שלכם המכילה www לכתובת ללא www, כלומר http:/www.my-domain.co.il ל http://my-domain.co.il הוסיפו את הקוד הבא לקובץ htaccess:


RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

אם ברצונכם לבצע את הפעולה ההפוכה, כלומר להפנות כתובת שאינה מכילה www לאותה כתובת עם www, השתמשו בקוד הבא:


RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

מדוע לבצע זאת?

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

העברת אתר וורדפרס ל HTTPS אינו עניין של מה בכך, תנו מבט במדריך מעבר ל HTTPS באתרי וורדפרס.

הפניית פידים של וורדפרס ל FeedBurner

הקוד הבא יפנה פיד RSS של וורדפרס ל FeedBurner. הוסיפו אותו לקובץ htaccess: #Redirect wordpress content feeds to feedburner <ifmodule mod_rewrite.c=""> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC] RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC] RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/yourfeed [R=302,NC,L] </ifmodule>

הקוד הבא יפנה פיד RSS של וורדפרס ל FeedBurner. הוסיפו אותו לקובץ htaccess:

#Redirect wordpress content feeds to feedburner
<ifmodule mod_rewrite.c="">
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/yourfeed [R=302,NC,L]
</ifmodule>

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

בדרך כלל כאשר אתם מורידים קובץ מאתר כלשהו, הדפדפן מקפיץ שאלה האם לשמור או לפתוח את הקובץ. אם ברצונכם למנוע מהשרת מלשאול זאת ופשוט לשמור את הקובץ הוסיפו את הקוד הבא לקובץ htaccess: AddType application/octet-stream .pdf AddType application/octet-stream .zip AddType [...]

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

AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov

מנעו hotlinking לתמונות

נמאס לכם מאנשים אשר משתמשים ברוחב הפס שלכם ושמים קישורים לתמונות שלכם באתר שלהם? תופעה מציקה זו נקראית hotlinking בשפה המקצועית. מנעו hotlinking לתמונות על ידי הוספת הקוד הבא בתחתית הקובץ htaccess ושימו לב שאתם משנים את שם הדומיין לדומיין שלכם. [...]

נמאס לכם מאנשים אשר משתמשים ברוחב הפס שלכם ושמים קישורים לתמונות שלכם באתר שלהם? תופעה מציקה זו נקראית hotlinking בשפה המקצועית. מנעו hotlinking לתמונות על ידי הוספת הקוד הבא בתחתית הקובץ htaccess ושימו לב שאתם משנים את שם הדומיין לדומיין שלכם.

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.com/.*$ [NC] 
RewriteRule \.(gif|jpg)$ http://www.example.com/hotlink.gif [R,L]

כיצד לאפשר העלאת קבצי SVG דרך ספריית המדיה

בכדי לאפשר העלאת קבצי SVG דרך ספריית המדיה, הוסיפו את הקוד הבא לקובץ functions.php: function cc_mime_types($mimes) { $mimes['svg'] = 'image/svg+xml'; return $mimes; } add_filter('upload_mimes', 'cc_mime_types'); הסבר מפורט יותר ניתן למצוא בפוסט הבא.

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

function cc_mime_types($mimes) {
  $mimes['svg'] = 'image/svg+xml';
  return $mimes;
}
add_filter('upload_mimes', 'cc_mime_types');

הסבר מפורט יותר ניתן למצוא בפוסט הבא.

מיקוד CSS בהתאם לדפדפן

נראה כיצד למקד CSS selectors לפי סוג הדפדפן וגירסתו. /***** Selector Hacks ******/ /* IE6 and below */ * html #uno { color: red } /* IE7 */ *:first-child+html #dos { color: red } /* IE7, FF, Saf, Opera */ [...]

נראה כיצד למקד CSS selectors לפי סוג הדפדפן וגירסתו.

/***** Selector Hacks ******/

/* IE6 and below */
* html #uno  { color: red }
 
/* IE7 */
*:first-child+html #dos { color: red } 
 
/* IE7, FF, Saf, Opera  */
html>body #tres { color: red }
 
/* IE8, FF, Saf, Opera (Everything but IE 6,7) */
html>/**/body #cuatro { color: red }
 
/* Opera 9.27 and below, safari 2 */
html:first-child #cinco { color: red }
 
/* Safari 2-3 */
html[xmlns*=""] body:last-child #seis { color: red }
 
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:nth-of-type(1) #siete { color: red }
 
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:first-of-type #ocho {  color: red }
 
/* saf3+, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
 #diez  { color: red  }
}
 
/* iPhone / mobile webkit */
@media screen and (max-device-width: 480px) {
 #veintiseis { color: red  }
}
 
/* Safari 2 - 3.1 */
html[xmlns*=""]:root #trece  { color: red  }
 
/* Safari 2 - 3.1, Opera 9.25 */
*|html[xmlns*=""] #catorce { color: red  }
 
/* Everything but IE6-8 */
:root *> #quince { color: red  }
 
/* IE7 */
*+html #dieciocho {  color: red }
 
/* Firefox only. 1+ */
#veinticuatro,  x:-moz-any-link  { color: red }
 
/* Firefox 3.0+ */
#veinticinco,  x:-moz-any-link, x:default  { color: red  }
 
 
 
/***** Attribute Hacks ******/
 
/* IE6 */
#once { _color: blue }
 
/* IE6, IE7 */
#doce { *color: blue; /* or #color: blue */ }
 
/* Everything but IE6 */
#diecisiete { color/**/: blue }
 
/* IE6, IE7, IE8 */
#diecinueve { color: blue\9; }
 
/* IE7, IE8 */
#veinte { color/*\**/: blue\9; }
 
/* IE6, IE7 -- acts as an !important */
#veintesiete { color: blue !ie; } /* string after ! can be anything */

מנעו גישה לקובץ wp-config.php – אבטחה

הוספה של קוד זה לקובץ htaccess תמנע גישה חיצונית לקובץ wp-config.php. עוד המון טיפים בנושא אבטחת אתר וורדפרס תמצאו בקישור המצורף… <files wp-config.php> order allow,deny deny from all </files>

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

<files wp-config.php>
    order allow,deny
    deny from all
</files>
Savvy WordPress Development