סופרים אלמנטים עם וורדפרס – פוסטים, קטגוריות ועוד

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

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

ניווט מהיר

  • ספירת מילים בפוסט בעזרת פוסט ID
  • ספירת פוסטים על פי סוג וסטטוס
  • ספירת קטגוריות וטקסונומיות
  • ספירת קטגוריות וטקסונומיות של פוסט
  • ספירת פוסטים בתוך קטגוריה / טקסונומי
  • ספירת כמות הפוסטים של משתמש מסוים
  • ספירת כמות התגובות של משתמש
  • ספירת משתמשים על פי סוג משתמש
  • ספירת כמות התמונות בספריית המדיה

ספירת מילים בפוסט בעזרת פוסט ID

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

הסניפט

  • מה: ספירת כמות המילים בפוסט
  • איפה: בקובץ functions.php.
function post_wordcount($postid) {
	$content = get_post($postid);
	$completContent = $content->post_content;
	$wordsCount = count(explode(" ", $completContent)); 

	return $wordsCount;	
}

הדגמת שימוש בפונקציה:

  • איפה: במיקום הרצוי בתבנית שלכם.
$postID	= get_the_ID();
echo post_wordcount($postID);

ספירת פוסטים על פי סוג וסטטוס

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

הסניפט:

  • מה: ספירת פוסטים על פי סטטוס וסוג
  • איפה: בקובץ functions.php.
function simplePostsCounter($type, $status) {

	if($type == '') {$type = 'post';}
	if($status == '') {$status = 'publish';}
	
	$foundResults = wp_count_posts($type);
	return $foundResults->$status;
}

הדגמת שימוש בפונקציה:

  • איפה: במיקום הרצוי בתבנית שלכם.
// ספירה של פוסטים סטנדרטיים אשר פורסמו
echo simplePostsCounter('post', 'published');

// ספירה של פוסטים סטנדרטיים במצב טיוטה
echo simplePostsCounter('post', 'draft');

// ספירה של פוסטים מותאמים מסוג גלריה אשר ממתינים לפרסום
echo simplePostsCounter('gallery', 'future');

ספירת קטגוריות וטקסונומיות

אני אוהב את הסניפט הקטן והשימושי הזה אשר יעזור לכם לספור כמה קטגוריות (וטקסונומיות) יש לכם באתר בקלות! אתם יכולים להשתמש בפונקציה זאת כדי לספור קטגוריות או טקסונומיות – קטגוריות שנוצרו עבור פוסטים מותאמים.

הסניפט:

  • מה: ספירת קטגוריות / טקסונומיות
  • איפה: בקובץ functions.php.
function simpleTermCount($taxonomy, $postype){
    $args = array( 
        'fields' =>'ids',
        'post_type' => $postype,
		'hide_empty' => 0
     );
    $terms = get_terms($taxonomy, $args);
	$count = count($terms);
	
	return $count;
}

הדגמת שימוש בפונקציה:

  • איפה: במיקום הרצוי בתבנית שלכם.
// ספירת קטגוריות רגילות
echo simpleTermCount('category', 'post');

// ספירות טקסונומיות (ערכים לדוגמה)
echo simpleTermCount('gallery_cat', 'galleries');

ספירת קטגוריות וטקסונומיות של פוסט

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

הסניפט:

  • מה: ספירת קטגוריות / טקסונומיות של פוסט מסוים
  • איפה: בקובץ functions.php.
function postTermCount($post_id, $taxonomy){
    $args = array( 
        'fields' =>'ids',
		'hide_empty' => 0
     );
    $terms = wp_get_post_terms($post_id, $taxonomy, $args);
	$count = count($terms);
	
	return $count;
}

הדגמת שימוש בפונקציה:

  • איפה: במיקום הרצוי בתבנית שלכם.
// ספירת קטגוריות של פוסט ספציפי
echo postTermCount('10', 'category');

// ספירת קטגוריות של פוסט מותאם (ערכים לדוגמה)
echo postTermCount('10', 'galleries');

ספירת פוסטים בתוך קטגוריה / טקסונומי

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

הסניפט:

  • מה: ספירה של כמות הפוסטים בקטגוריה / טקסונומיה
  • איפה: בקובץ functions.php.
function posts_in_term($catid, $taxonomy) {
	$qTerm = get_term($catid, $taxonomy);
	return $qTerm->count;
}

הדגמת שימוש בפונקציה:

  • איפה: במיקום הרצוי בתבנית שלכם.
// סופרים כמה פוסטים בקטגוריה רגילה
echo posts_in_term(1, 'category').' Posts in General Category.';

// סופרים כמה פוסטים בטקסונומי ספציפי
echo posts_in_term(1, 'gallery_cat').' Custom Posts Gallery Taxonomy.';

ספירת כמות הפוסטים של משתמש מסוים

צורך נפוץ מאוד הוא היכולת לאסוף ואפילו להציג סטטיסטיקה של כמות הפוסטים אשר שייכים לכל כותב / משתמש. הסניפט הבא עושה בדיוק את זה ועושה זאת בעזרת 2 שורות בלבד!

הסניפט:

  • מה: ספירת כמות הפוסטים של משתמש
  • איפה: בקובץ functions.php.
function countUserPosts($userID) {
	$userposts = get_posts('showposts=-1&author='.$userID); 
	return count($userposts);
}

הדגמת שימוש בפונקציה:

  • איפה: במיקום הרצוי בתבנית שלכם.
echo countUserPosts($userID);

ספירת כמות התגובות של משתמש

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

הסניפט:

  • מה: ספירת כמות התגובות של גולשים
  • איפה: בקובץ functions.php.
function countUserComments($userEmail) {
	$args = array(
		'author_email' => $userEmail
	);
	$comments = get_comments( $args );
	return count($comments);
}

הדגמת שימוש בפונקציה:

  • איפה: במיקום הרצוי בתבנית שלכם.
echo countUserComments('info@example.com');

ספירת משתמשים על פי סוג משתמש

סניפט נהדר אשר יצרתי בהתבסס על הפונקציה המובנית של וורדפרס count_users function אשר מאפשרת לנו לספור את כמות המשתמשים הרשומים באתר שלנו ואפילו להחזיר ספירה על פי סוגי משתמשים בקלות!

הסניפט:

  • מה: ספירת משתמשים באתר שלכם
  • איפה: בקובץ functions.php.
function user_counter($type) {

	// OPTIONAL USER LEVELS: 
	// all, administrator, editor, author, contributor, subscriber

	$result 	=	count_users();
	$totalUsers	=	$result['total_users'];
	
	if($type == 'all' || $type == '') {
		return $totalUsers;
	} 
	else {
		return $result['avail_roles'][$type];
	}
}

הדגמת שימוש בפונקציה:

  • איפה: במיקום הרצוי בתבנית שלכם.
// ספירת כל המשתמשים
echo user_counter('all').' Users.';

// ספירת רק מנויים
echo user_counter('subscriber').' subscribers.';

// ספירת מנויים ומנהלי אתר
echo 'We got '.user_counter('subscriber').' subscribers and '.user_counter('administrator').' administrators!';

ספירת כמות התמונות בספריית המדיה

סניפט מעולה אשר מצאתי בwpsnipp.com אשר בדקתי ווידאתי כי הוא עובד ומאפשר לנו לספור את כמות התמונות שיש לנו בספריית המדיה של האתר שלנו.

הסניפט:

  • מה: ספירת כמות התמונות בספריית המדיה
  • איפה: בקובץ functions.php.
function img_count(){
	$query_img_args = array(
			'post_type' => 'attachment',
			'post_mime_type' =>array(
							'jpg|jpeg|jpe' => 'image/jpeg',
							'gif' => 'image/gif',
							'png' => 'image/png',
							),
			'post_status' => 'inherit',
			'posts_per_page' => -1,
			);
	$query_img = new WP_Query( $query_img_args );
	return $query_img->post_count;
}

הדגמת שימוש בפונקציה:

  • איפה: במיקום הרצוי בתבנית שלכם.
// count all images
echo img_count();

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

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

פונקציה תיאור קצר קישור
wp count posts מחזיר את הכמות של פוסטים על פי סטטוס וסוג. קישור
count user posts מחזיר את כמות הפוסטים של משתמש מסוים. קישור
wp count comments מחזיר את כמות התגובות שקיימות בכל האתר. קישור
get user count כמות המשתמשים הרשומים הפעילים באתר שלנו! קישור
wp count terms סופר כמה קטגוריות קיימות בכל טקסנומיה. קישור
get blog count כמה בלוגים יש בהתקנה של רשת בלוגים מבוססת וורדפרס.. קישור

סיימנו! (לבינתיים)

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

אם אתם פשוט אוהבים את זה! אל תתביישו לחלוק את האהבה עם אחרים בעזרת כפתורי השיתוף, הלייק, הפלוס+ של גוגל. גמר חתימה טובה, שגיב SEO