פרטי מדריך:
- קטגוריה: וורדפרס
- רמת קושי: בינוני
- זמן ביצוע: 5-10
ברוכים הבאים או השבים, היום נבנה ביחד כמה פונקציות שיעזרו לנו לתעד את כמות הצפיות בפוסטים באתר שלנו וגם לצפות ברשימה מסודרת לפי כמות הצפיות בממשק הניהול שלנו. למי שמכיר את אוסף הסניפטים לוורדפרס הוא יכול למצוא את הפונקציה בצורתה הבסיסית שם אבל הפעם שדרגנו אותה.
אז על מה אנחנו מדברים?
בכל פעם שמישהו יבקר בפוסט ישמר ערך של כמות הצפיות פלוס אחד עבור אותו הפוסט. זה נחמד מאוד ומאפשר לנו לראות לאורך זמן איזה פוסטים הכי פופולריים באתר שלנו בצורה מצטברת. בנוסף הפונקציה מאפשרת להציג את כמות הצפיות של כל פוסט במיקום הרצוי באתר שלנו.
כמה פונקציות, לכל אחת תפקיד
ההסבר ארוך אבל שווה קריאה למתעניינים – בסוף, הפונקציה להורדה קומפלט!
פונקציה לספירת צפיות
- בדוק באיזה פוסט אנחנו נמצאים
- קבל את הID שלו ואת ספירת הצפיות
- הוסף 1 לספירת הצפיות ועדכן את הערך
// SET NEW VIEW WHEN PAGE LOADS add_action('wp_head', 'setPostViews'); function setPostViews() { if(is_singular()) { $postID = get_the_ID(); $count_key = 'sagive_post_views'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 1; update_post_meta($postID, $count_key, '1'); }else{ $count++; update_post_meta($postID, $count_key, $count); } } }
פונקציה להחזרת כמות הצפיות
- בדוק באיזה פוסט אנחנו נמצאים
- קבל את הID של הפוסט, ואת הערך של כמות הצפיות
- אם הערך לא קיים עדכן את כמות הצפיות ל1
// GET POST VIEWS FUNCIONS function getPostViews(){ $postID = get_the_ID(); $count_key = 'sagive_post_views'; $count = get_post_meta($postID, $count_key, true); if($count==''){ update_post_meta($postID, $count_key, '1'); return '1 '.__('Views', THEME_NAME); } return $count.' '.__('Views', THEME_NAME); }
צור דף בממשק הניהול להצגת צפיות
- רישום של פריט חדש בתפריט (בממשק הניהול)
- טען קצת CSS וJS להצגה קריאה של התוצאות
- פונקציה להצגת טבלה עם כמות הצפיות מהגדול לקטן
/**************************************************** ** ADD A PAGE TO ADMIN WHERE YOU CAN VIEW THE COUNTS ****************************************************/ add_action('admin_menu', 'postviews_menuitem'); function postviews_menuitem(){ $pagetitle = __('Views Statistics', THEME_NAME); $curpage = add_submenu_page('themes.php', $pagetitle, $pagetitle, 'administrator', 'viewstats', 'viewstats_pagedata'); add_action( 'admin_print_styles-' . $curpage, 'poststats_options_admin_styles' ); } // ENQUEUE SCRIPTS & STYLES TO THIS PAGE add_action( 'admin_init', 'poststats_admin_init' ); function poststats_admin_init() { wp_register_style('bootstrapcss', 'https://ajax.aspnetcdn.com/ajax/bootstrap/3.0.3/css/bootstrap.min.css'); wp_register_script('bootstrapjs', 'https://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js'); } function poststats_options_admin_styles() { wp_enqueue_style('bootstrapcss'); wp_enqueue_script('bootstrapjs'); } // BUILD THE TABLE IN THIS PAGE function viewstats_pagedata() { ?> <div class="wrap"><div id="icon-tools" class="icon32"></div> <h2 style="border-bottom: 1px solid #ccc; padding: 10px 0;margin: 0 0 10px;"><?php _e('Views Statistics', THEME_NAME); ?></h2> <table class="table table-responsive table-bordered table-striped bgFF"> <tr> <th class="text-right"><?php _e('Post Name', THEME_NAME); ?></th> <th class="text-right"><?php _e('Views Count', THEME_NAME); ?></th> <th class="text-right"><?php _e('Published on', THEME_NAME); ?></th> </tr> <?php $the_query = new WP_Query(array('posts_per_page'=>-1, 'meta_key' => THEME_PREF.'post_views', 'order'=>'DESC', 'orderby' => 'meta_value_num')); while ( $the_query->have_posts() ) { $the_query->the_post(); $pid = get_the_ID(); $pviews = get_post_meta($pid, THEME_PREF.'post_views', true); echo ' <tr> <td><a href="'.get_permalink().'">'.get_the_title().'</a></td> <td>'.$pviews.' '.__('Views', THEME_NAME).'</td> <td>'.get_the_date().'</td> </tr> '; } wp_reset_postdata(); ?> </table> </div> <?php }
הפונקציה המלאה להורדה
אם אתם כמוני ומתעצלים לחבר בין הפונקציות ורוצים משהו קומפלט הגעתם לחלק הנכון במאמר. הורידו את הסקריפט המלא כאן (תמורת שיתוף). שימו לב שעדיין צריך להעלות את הסקריפט בעזרת FTP לאתר שלכם ולהכליל אותו בקובץ functions.php
אז מה אתם צריכים לעשות כדי שזה יעבוד?
1. להעלות את הקובץ לתוך התבנית שלכם 2. להכליל את הקובץ אל Functions.php 3. סיימתם 4. נשבע לכם, זהו!
שאלות ותשובות
למעשה, מכיוון שהכל מוכן זה מאוד מאוד קל לעשות זאת בעזרת שורת קוד אחת במיקום הרצוי:
<?php echo getPostViews(); ?>
שימו לב שהפקודה איננה מתייחסת לID מסוים ולכן יש לשים אותה איפשהו בתוך הלופ של וורדפרס
אם אתם רואים רשימה עם כלום צפיות אל תשכחו שהרגע התקנתם את זה והפונקציה תתחיל לספור מהרגע בו הכללתם את הקובץ של הסקריפט לתוך הFunctions.php שלכם ולא לפני זה.
את הדף הזה ניתן למצוא בממשק הניהול של אתר הוורדפרס שלכם תחת: עיצוב -> Views Statistics


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