با نمایش خلاصه مطالب بجای متن کامل نوشته ها می توان علاوه بر مدیریت فضای سایت نحوه نمایش مطالب را زیباتر کرد، پیش از این آموزش و کد خلاصه مطالب وردپرس را منتشر کرده ایم که می توانید با مطالعه آن چکیده یا مختصر نوشته ها را در قالب وردپرس نمایش دهید. نکته ای که احتمالا متوجه آن شده اید عدم نمایش لینک، تصویر، لیست، کلمات توپر یا بولد شده و تمام کدهای html دیگر در چکیده مطالب می باشد یعنی تابع the_excerpt تنها کلمات ابتدایی نوشته را به عنوان چکیده ایجاد می کند و کدهای اچ تی ام ال را نادیده می گیرد همچنین اگر از تگ more که برای ایجاد ادامه مطلب می باشد استفاده کنیم کلمات قبل از تگ را حتی اگر به حد مجاز خلاصه نرسیده باشد به عنوان چکیده شناسایی می کند. در این مطلب از ایران اسکریپت قصد آموزش روشی برای نمایش کد html در خلاصه مطالب وردپرس یا چکیده نوشته را داریم پس تا انتها همراه ما باشید.
توابع نمایش کد html در خلاصه مطالب سایت وردپرسی
برای ایجاد این قابلیت کاربردی ابتدا از فانکشن پوسته پشتیبان بگیرید سپس کدهای زیر را در فایل فانکشن functions.php قالب وردپرس یا افزونه وردپرس اختصاصی سایت کپی کنید. با دقت در کدهای زیر مشاهده می کنید که قابلیت نمایش کدهای html مربوط به نمایش لینک یا پیوند a، لیستهای عددی یا نامرتب که با تگهای ul و ol و li ایجاد می شوند، کد srtong برای توپر یا بولد کردن کلمات و … را به چکیده افزوده ایم که می توانید به دلخواه تگهای بیشتری را اضافه و یا کم کنید.
function wpse_allowedtags(){ return '<br>,<srtong>,<i>,<ul>,<ol>,<li>,<a>,<p>,<video>,<audio>';} if (!function_exists('wpse_custom_wp_trim_excerpt')): function wpse_custom_wp_trim_excerpt($wpse_excerpt) { $raw_excerpt = $wpse_excerpt;if ('' == $wpse_excerpt){$wpse_excerpt = get_the_content(''); $wpse_excerpt = strip_shortcodes( $wpse_excerpt ); $wpse_excerpt = apply_filters('the_content', $wpse_excerpt); $wpse_excerpt = str_replace(']]>', ']]>', $wpse_excerpt); $wpse_excerpt = strip_tags($wpse_excerpt, wpse_allowedtags());$excerpt_word_count = 75; $excerpt_length = apply_filters('excerpt_length', $excerpt_word_count); $tokens = array();$excerptOutput = '';$count = 0; preg_match_all('/(<[^>]+>|[^<>\s]+)\s*/u', $wpse_excerpt, $tokens); foreach ($tokens[0] as $token) { if($count >= $excerpt_length && preg_match('/[\,\;\?\.\!]\s*$/uS', $token)){ $excerptOutput .= trim($token);break;} $count++;$excerptOutput .= $token;} $wpse_excerpt = trim(force_balance_tags($excerptOutput)); $excerpt_end = ' <a href="'. esc_url( get_permalink() ) . '">' . ' » ' . sprintf(__( 'Read more about: %s »', 'wpse' ), get_the_title()) . '</a>'; $excerpt_more = apply_filters('excerpt_more', ' ' . $excerpt_end);$wpse_excerpt .= $excerpt_more; return $wpse_excerpt;} return apply_filters('wpse_custom_wp_trim_excerpt', $wpse_excerpt, $raw_excerpt);}endif; remove_filter('get_the_excerpt', 'wp_trim_excerpt'); add_filter('get_the_excerpt', 'wpse_custom_wp_trim_excerpt');
موفق باشید.