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

להציג את כמות הפוסטים, העמודים התגובות והמשתמשים

26 באפריל 2011 | מאת רמי | 3 תגובות | תגיות: , , ,

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

הפתעה

הפתעה

הבעיה

נתחיל בהגדרת הבעיה – פעמים רבות אנחנו עושים שימוש בתוספים שיוצרים "תכנים מותאמים אישית" (Custom Post Types), ובשלב כלשהו אנחנו רוצים להציג את כמות התכנים מאותו סוג באתר. למשל אתר סרטים שעושה שימוש בתכנים מותאמים אישית, האתר מעוניין להציג את כמות ה"סרטים" ואת כמות ה"שחקנים" שיש באתר. או אתר שעוסק בתחום הרכב נדרש להציג את כמות ה"רכבים" נסקרו באתר ואת כמות היצרנים כאשר כל אחד מהם הוא תוכן מותאם אישית.

הקוד

אז איך עושים זאת? עושים שימוש בפונקציות הבאות: wp_count_posts() שתפקידה להחזיר את כמות הפוסטים מהסוג שהוגדר, הפונקציה wp_count_comments() שתפקידה להחזיר את כמות התגובות, והפונקציה count_users() שתפקידה להחזיר את כמות המשתמשים. להלן הקוד:

<?php
// Count Posts
$num_post               = wp_count_posts( 'post' );
$num_post_publish       = $num_post->publish;
$num_post_draft         = $num_post->draft;
$num_post_pending       = $num_post->pending;
$num_post_future        = $num_post->future;
$num_post_private       = $num_post->private;
$num_post_trash         = $num_post->trash;

// Count Pages
$num_page               = wp_count_posts( 'page' );
$num_page_publish       = $num_page->publish;
$num_page_draft         = $num_page->draft;
$num_page_pending       = $num_page->pending;
$num_page_future        = $num_page->future;
$num_page_private       = $num_page->private;
$num_page_trash         = $num_page->trash;

// Count Custom Post Types
$num_cpt                = wp_count_posts( 'CUSTOM_POST_TYPE_NAME' );
$num_cpt_publish        = $num_cpt->publish;
$num_cpt_draft          = $num_cpt->draft;
$num_cpt_pending        = $num_cpt->pending;
$num_cpt_future         = $num_cpt->future;
$num_cpt_private        = $num_cpt->private;
$num_cpt_trash          = $num_cpt->trash;

// Count Comments
$num_comments           = wp_count_comments();
$num_comments_moderated = $num_comments->moderated;
$num_comments_approved  = $num_comments->approved;
$num_comments_spam      = $num_comments->spam;
$num_comments_trash     = $num_comments->trash;
$num_comments_total     = $num_comments->total_comments;

// Count Users
$users_count            = count_users();
$users_count_total      = $users_count['total_users'];
?>

כדי להציג את המידע, נוסיף את הקוד הבא:

<ul>
    <!-- Posts -->
    <li>Posts Published:        <?php echo $num_post_publish; ?></li>
    <li>Posts Drafts:           <?php echo $num_post_draft; ?></li>
    <li>Posts Pending:          <?php echo $num_post_pending; ?></li>
    <li>Posts Future:           <?php echo $num_post_future; ?></li>
    <li>Posts Private:          <?php echo $num_post_private; ?></li>
    <li>Posts Trash:            <?php echo $num_post_trash; ?></li>

    <!-- Pages -->
    <li>Pages Published:        <?php echo $num_page_publish; ?></li>
    <li>Pages Drafts:           <?php echo $num_page_draft; ?></li>
    <li>Pages Pending:          <?php echo $num_page_pending; ?></li>
    <li>Pages Future:           <?php echo $num_page_future; ?></li>
    <li>Pages Private:          <?php echo $num_page_private; ?></li>
    <li>Pages Trash:            <?php echo $num_page_trash; ?></li>

    <!-- Custom Post Types -->
    <li>Custom Post Published: <?php echo $num_cpt_publish; ?></li>
    <li>Custom Post Drafts:    <?php echo $num_cpt_draft; ?></li>
    <li>Custom Post Pending:   <?php echo $num_cpt_pending; ?></li>
    <li>Custom Post Future:    <?php echo $num_cpt_future; ?></li>
    <li>Custom Post Private:   <?php echo $num_cpt_private; ?></li>
    <li>Custom Post Trash:     <?php echo $num_cpt_trash; ?></li>

    <!-- Comments -->
    <li>Coments Moderated:     <?php echo $num_comments_moderated; ?></li>
    <li>Coments Approved:      <?php echo $num_comments_approved; ?></li>
    <li>Coments Spam:          <?php echo $num_comments_spam; ?></li>
    <li>Coments Trash:         <?php echo $num_comments_trash; ?></li>
    <li>Coments Total:         <?php echo $num_comments_total; ?></li>

    <!-- Users -->
    <li>Users Total:           <?php echo $users_count_total; ?></li>
</ul>

מאת רמי

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

3 תגובות »

  • יאיר כותב :

    היכן יש לכתוב את הקוד, באיזה קובץ, והיכן שומר אותו?

  • יאיר כותב :

    היכן י לכתוב את הקוד, באיזה קובץ, והיכן שומר אותו?

  • רמי כותב :

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

    בתבניות למשל, אפשר להציג בעמוד הראשי את מספר התגובות הכולל באתר. או בויג'ט כלשהו להציג את מספר ה- Custom Post Types שלך. או ב- Site Map להציג את מספר המשתמשים הרשומים באתר.

    יאיר, אתה יכול להשתמש בקודים הללו במקומות שונים באתר שלך.

הוסף תגובה !

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

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