انجمن


تغییر کوچک در یک تابع پی اچ پی وردپرس  (۲ نوشته)

  • webgar

    آفلاین
    عضو
    تعداد نوشته‌ها: ۳
    # نوشته شده: ۹ سال پیش
    ۲۱ خرداد ۱۳۹۱ - ۱۳:۰۳

    با سلام خدمت دوستان عزیز

    بنده در یکی از افزونه های ورد پرس با یک تابع مواجه شدم که در تحلیل آن مشکل دارم.
    خروجی این تابع نوشته های با بیشترین بازدید است . ولی یک کلمه views و یک عدد که تعداد بازدید است به عنوان نوشته اضافه می کند و در خروجی نمایش میدهد.
    بنده می خواهم این کلمه (views) رو به (بازدیدها) تغییر بدم ولی نمی دانم کجای تابع را باید ویرایش کنم.

    از دوستان عزیز خواهشمندم در صورت امکان بنده را راهنمایی بفرمایند.

    این هم کد تابع

    با سپاس فراوان

    ### Function: Display Most Viewed Page/Post
    if(!function_exists('get_most_viewed')) {
        function get_most_viewed($mode = '', $limit = 10, $chars = 0, $display = true) {
            global $wpdb;
            $views_options = get_option('views_options');
            $where = '';
            $temp = '';
            $output = '';
            if(!empty($mode) && $mode != 'both') {
                $where = "post_type = '$mode'";
            } else {
                $where = '1=1';
            }
            $most_viewed = $wpdb->get_results("SELECT DISTINCT $wpdb->posts.*, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID WHERE post_date < '".current_time('mysql')."' AND $where AND post_status = 'publish' AND meta_key = 'views' AND post_password = '' ORDER BY views DESC LIMIT $limit");
            if($most_viewed) {
                foreach ($most_viewed as $post) {
                    $post_views = intval($post->views);
                    $post_title = get_the_title($post);
                    if($chars > 0) {
                        $post_title = snippet_text($post_title, $chars);
                    }
                    $post_excerpt = views_post_excerpt($post->post_excerpt, $post->post_content, $post->post_password, $chars);
                    $temp = stripslashes($views_options['most_viewed_template']);
                    $temp = str_replace("%VIEW_COUNT%", number_format_i18n($post_views), $temp);
                    $temp = str_replace("%POST_TITLE%", $post_title, $temp);
                    $temp = str_replace("%POST_EXCERPT%", $post_excerpt, $temp);
                    $temp = str_replace("%POST_CONTENT%", $post->post_content, $temp);
                    $temp = str_replace("%POST_URL%", get_permalink($post), $temp);
                    $output .= $temp;
                }
            } else {
                $output = '<li>'.__('N/A', 'wp-postviews').'</li>'."\n";
            }
            if($display) {
                echo $output;
            } else {
                return $output;
            }
        }
    }
  • امید

    آفلاین
    عضو
    تعداد نوشته‌ها: ۳۱
    تشکر شده: ۱۸ بار
    # نوشته شده: ۹ سال پیش
    ۲۱ خرداد ۱۳۹۱ - ۱۷:۲۷

    فکر میکنم جایی که این تابع استفاده شده توی تم باید اونجا باشه .
    دنبال اسم تابع "get_most_viewed" توی تم باشید.
    مثلا شاید اینجوری باشه:

    echo get_most_viewed().' views';
    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    webgar

درباره‌ی این موضوع



برچسب‌ها

هیچ برچسبی نیست.