نحوه افزودن المان مدت زمان خواندن مقاله به پست‌ها در Elementor: بدون پلاگین

هنگام بهبود تجربه کاربری در یک وبسایت، ارائه زمان تقریبی مطالعه برای مقالات می‌تواند بسیار مفید باشد. این کار انتظارات را برای زمان مورد نیاز تنظیم می‌کند و می‌تواند بازدیدکنندگان را به خواندن تشویق کند.
اگر از المنتور پرو استفاده می‌کنید، نیازی به افزونه اضافی برای افزودن این ویژگی به پست‌های خود ندارید. با استفاده از یک تابع سفارشی ساده و قدرت برچسب‌های پویای المنتور، می‌توانید به راحتی زمان تقریبی مطالعه را در سایت وردپرسی خود نمایش دهید.
بیایید مراحل اجرای این قابلیت را بدون شلوغ کردن وردپرس خود با افزونه‌های بیشتر بررسی کنیم.

مروری بر تابع تخمین زمان مطالعه پست

تابع سفارشی estimate_reading_time() زمان تقریبی برای خواندن یک پست وردپرسی را محاسبه می‌کند. این کار با شمارش کلمات در پست و تقسیم آن بر سرعت استاندارد خواندن (کلمه در دقیقه) انجام می‌شود. در صورت تمایل می‌توانید این سرعت را تنظیم کنید. این تابع می‌تواند با ایجاد یک برچسب پویای سفارشی، زمان مطالعه را به صورت پویا در پست‌ها هنگام استفاده از المنتور پرو نمایش دهد.

// Include the necessary WordPress admin file for is_plugin_active() function

include_once( ABSPATH . 'wp-admin/includes/plugin.php' );

if ( is_plugin_active( 'elementor-pro/elementor-pro.php' ) ) {

    // Elementor Pro is active, so register your dynamic tag action

    add_action('elementor/dynamic_tags/register_tags', function( $dynamic_tags ) {

        // Include the Tag class file

        include_once 'path_to_your_reading_time_tag_class.php';

        // Finally register the tag

        $dynamic_tags->register_tag( 'Reading_Time_Tag' );

    });

    class Reading_Time_Tag extends \Elementor\Core\DynamicTags\Tag {

        public function get_name() {

            return 'reading-time';

        }

        public function get_title() {

            return __('Reading Time', 'text-domain');

        }

        public function get_group() {

            return 'post';

        }

        public function get_categories() {

            return [ \Elementor\Modules\DynamicTags\Module::TEXT_CATEGORY ];

        }

        protected function register_controls() {

            // Add any necessary controls for your dynamic tag here

        }

        public function render() {

            $post_id = get_the_ID();

            $content = get_post_field('post_content', $post_id);

            echo estimate_reading_time($content);

        }

    }

}

// Estimate_reading_time() function

function estimate_reading_time($content) {

    $word_count = str_word_count(strip_tags($content));

    $words_per_minute = 200; // Average reading speed (words per minute)

    $reading_time = ceil($word_count / $words_per_minute);

    return $reading_time . ' minute' . ($reading_time === 1 ? '' : 's') . ' read';

}

استفاده از برچسب سفارشی در المنتور

با فعال بودن المنتور پرو و اسنیپت کد اسنیپت، اکنون می‌توانید از برچسب پویای سفارشی درون المنتور برای نمایش زمان تقریبی مطالعه استفاده کنید. صفحه‌ای را با المنتور ویرایش کنید و جایی که می‌خواهید زمان مطالعه را نمایش دهید، از برچسب‌های پویا برای انتخاب برچسب سفارشی به نام «Reading Time» استفاده کنید. این برچسب به صورت خودکار زمان تقریبی مطالعه برای پست را نمایش خواهد داد.

نتیجه‌گیری
با ترکیب یک تابع سفارشی با افزونه‌ی کد اسنیپت، می‌توانید عملکرد سایت وردپرسی و المنتور پرو خود را بدون تغییر فایل‌های اصلی پوسته بهبود بخشید. این روش فرآیند را ساده‌تر می‌کند و یک روش امن‌تر و به‌روزرسانی‌ پذیر برای افزودن کد سفارشی PHP به وب‌سایت شما فراهم می‌کند.
همیشه اسنیپت‌های خود را قبل از اعمال آن‌ها روی سایت اصلی در یک محیط آزمایشی تست کنید تا از مشکلات احتمالی جلوگیری کنید.