דף הבית » טריקים וטיפים, מומלצים

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

22 ביולי 2011 | מאת רמי | 4 תגובות | תגיות: , ,

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

ספריית התוספים וערכות העיצוב של וורדפרס

ספריית התוספים וערכות העיצוב של וורדפרס

קריסטיאן אנטואס (Cristian Antohe’s), מפתח וורדפרס, סיפר על מקרה מאוד נדיר. הוא פיתח ערכת עיצוב עבור לקוחותיו ולא העלה אותה לוורדפרס. יום אחד, לקוחותיו ראו בלוח הבקרה שיש עדכון חדש לערכת העיצוב והם שדרגו לגרסה החדשה. מה שהם לא ידעו זה שמישהו אחר העלה ערכת עיצוב בשם זהה לאתר וורדפרס, וכשהם "שדרגו" את ערכת העיצוב שלהם העיצוב של האתר השתבש לחלוטין.

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

מדריך שכתב מארק ג'קוט (Mark Jaquith) מסביר איך מפתחים עצמאיים יכולים להורות לוורדפרס לא לבדוק גרסאות חדשות לתוסף או לערכת עיצוב.

לתוספים:

function cws_hidden_plugin_12345( $r, $url ) {
    if ( 0 !== strpos( $url, 'http://api.wordpress.org/plugins/update-check' ) )
        return $r; // Not a plugin update request. Bail immediately.
    $plugins = unserialize( $r['body']['plugins'] );
    unset( $plugins->plugins[ plugin_basename( __FILE__ ) ] );
    unset( $plugins->active[ array_search( plugin_basename( __FILE__ ), $plugins->active ) ] );
    $r['body']['plugins'] = serialize( $plugins );
    return $r;
}
add_filter( 'http_request_args', 'cws_hidden_plugin_12345', 5, 2 );

לערכות עיצוב:

function cws_hidden_theme_12345( $r, $url ) {
    if ( 0 !== strpos( $url, 'http://api.wordpress.org/themes/update-check' ) )
        return $r; // Not a theme update request. Bail immediately.
    $themes = unserialize( $r['body']['themes'] );
    unset( $themes[ get_option( 'template' ) ] );
    unset( $themes[ get_option( 'stylesheet' ) ] );
    $r['body']['themes'] = serialize( $themes );
    return $r;
}
add_filter( 'http_request_args', 'cws_hidden_theme_12345', 5, 2 );

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

מאת רמי

אחראי על אתר וורדפרס בעברית ועל תרגום ושחרור גרסאות וורדפרס בעברית. מפתח ליבה, בכל גרסה החל מגרסה 2.8, מפתח מוביל בגרסה 4.4 ובגרסה 4.6. מספק שירותי פיתוח אתרים, פיתוח תוספי וורדפרס לסטרטאפים ופיתוח כלים למפתחי וורדפרס - GenerateWP.com.

4 תגובות »

  • שגיב כותב :

    מעולה רמי.. תודה רבה

  • רמי כותב :

    אם אתה מפתח תוספים, הקוד הזה מאוד שימושי.

  • חופית כותב :

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

  • רמי כותב :

    חופית, יש להוסיף את הקוד לאחד מקבצי התוסף/תבנית, עדיף לקובץ הראשי.

הוסף תגובה !

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

תגיות HTML מורשות לשימוש:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>