חיפוש ]

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

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

<?php  if( wp_is_mobile()){  ?>
// mobile stuff goes here
<?php } else { ?>
// desktop stuff goes here
<?php  } ?>

שימו לב! – עליכם לשים לב כי מנגנון הקאש שלכם מבצע Caching בנפרד עבור מובייל ועבור דסקטופ. ניתן לבצע זאת למשל באמצעות התוסף WP-Rocket.

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

function wps_first_post_class( $classes ) {
    global $wp_query;
    if( 0 == $wp_query->current_post )
        $classes[] = 'first';
        return $classes;
}
add_filter( 'post_class', 'wps_first_post_class' );

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

function set_permalink(){
     global $wp_rewrite;
     $wp_rewrite->set_permalink_structure('/%year%/%monthnum%/%postname%/');
}
add_action('init', 'set_permalink');

שימו לב כי גם במקרה זה על mod_rewrite להיות פעיל בשרת.

עוד על מבנה הקישורים של וורדפרס בפוסט הבא: בחירת מבנה קישורים (Permalinks) נכון לטובת SEO.

כברירת מחדל לעמודים בוורדפרס אין אפשרות להוסיף תקציר (excerpt). אם אתם מעוניינים להוסיף אפשרות זו מכל סיבה שהיא הוסיפו את הקוד הבא לקובץ functions.php:

/**** BEGIN HERE ****/
if (current_user_can('contributor') && !current_user_can('upload_files'))
    add_action('admin_init', 'allow_contributor_uploads');
function allow_contributor_uploads() {
    $contributor = get_role('contributor');
    $contributor->add_cap('upload_files');
}

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

הוסיפו את הקוד הבא היכן שתרצו בתבנית שלכם ושנו את הפרמטרים בהתאם:

<?php wp_tag_cloud(array(
     'smallest' => 10, // size of least used tag
     'largest' => 18, // size of most used tag
     'unit' => 'px', // unit for sizing
     'orderby' => 'name', // alphabetical
     'order' => 'ASC', // starting at A
     'exclude' => 6 // ID of tag to exclude from list
     ));
?>

הפילטר הבא מאפשר להסיר את סרגל הכלים של וורדפרס (WordPress Toolbar). הוסיפו את הקוד לקובץ functions.php:

add_filter('show_admin_bar', '__return_false');

כברירת מחדל וורדפרס אינה מאפשרת למשתמשים בעלי הרשאות של תורמים (Contributers) להעלות תמונות.

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

<?php
/**** BEGIN HERE ****/
if (current_user_can('contributor') && !current_user_can('upload_files'))
add_action('admin_init', 'allow_contributor_uploads');
function allow_contributor_uploads() {
$contributor = get_role('contributor');
$contributor->add_cap('upload_files');
}

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

function fb_filter_query( $query, $error = true ) {
    if ( is_search() ) {
        $query->is_search = false;
        $query->query_vars[s] = false;
        $query->query[s] = false;
        // to error
        if ( $error == true )
            $query->is_404 = true;
    }
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

לחילופין – אם אתם מעוניינים לשדרג את אפשרויות החיפוש של וורדפרס אני מאד ממליץ להשתמש בתוסף Relevanssi.

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

// Put post thumbnails into rss feed
function savvy_feed_post_thumbnail($content) {
    global $post;
    if(has_post_thumbnail($post->ID)) {
        $content = '' . $content;
    }
    return $content;
}
add_filter('the_excerpt_rss', 'savvy_feed_post_thumbnail');
add_filter('the_content_feed', 'savvy_feed_post_thumbnail');