أكثر من 20 موقع WordPress Loop Hacks المطلوبين
نشرت: 2017-12-20الحلقة هي العملية الرئيسية في WordPress ، لذا فهي موجودة تقريبًا في كل ملف قالب. بشكل أساسي ، هو رمز PHP يستخدمه النظام الأساسي لعرض المنشورات من خلال ملفات قالب السمة. بمعنى آخر ، إنه ضخم. في الواقع ، إنه أمر بالغ الأهمية ، لأن الموقع لن يعمل بدون حلقة.
قد يؤدي تعديل هذه المجموعة من الميزات القوية بشكل لا يصدق إلى تحسين إمكانات موقع WordPress الخاص بك. على سبيل المثال ، يمكنك تغيير طريقة عرض المنشورات على الصفحة الرئيسية وفرزها باستخدام معلمات محددة. بالنظر إلى أن الحلقة هي أسهل شيء يمكن تعديله ، يمكن للمرء الحصول على اختراقات رائعة ومبتكرة.
دعنا نعرض لك أكثر من 20 حلقة اختراق يجب عليك استخدامها الآن لتحقيق ذلك ، دون الحاجة إلى تثبيت المكونات الإضافية.
# 1. ضع الإعلان بعد المنشور الأول
بصفتك مدونًا ، فأنت تعلم جيدًا أن الإعلانات هي واحدة من أفضل الطرق لكسب المال. من المؤكد أن الحصول على تلك النقرات التي تشتد الحاجة إليها من الزوار يعد أمرًا صعبًا ولا يتمتع العديد من المدونين بنسب النقر إلى الظهور المرتفعة. يمكن أن يكون وضع الإعلانات بعد المنشور الأول طريقة جيدة لزيادتها ، لذا جرب هذا التعديل البسيط.
استبدل الحلقة الخاصة بك بالحلقة أدناه. انتبه ، حيث يجب عليك لصق رمز الإعلان هناك:
<?php if (have_posts()) : ?> <?php $count = 0; ?> <?php while (have_posts()) : the_post(); ?> <?php $count++; ?> <?php if ($count == 2) : ?> //Insert the code of an ad in this line <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php the_excerpt(); ?> <?php else : ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php the_excerpt(); ?> <?php endif; ?> <?php endwhile; ?> <?php endif; ?>
# 2. عرض المشاركات القديمة ولكن المشهورة منذ عام واحد
بعض المنشورات على مدونتك ، على الرغم من إنشائها قبل عام ، ربما لا تزال تحظى بشعبية بين قرائك. على سبيل المثال ، يمكن أن تكون مقالة إرشادية أو نوعًا آخر من المحتوى الدائم. لضمان أن تظل هذه المنشورات شائعة ، يمكنك تطبيق هذا الاختراق المفيد.
أدخل هذا الرمز في ملف single.php:
<?php $current_day = date('j'); $last_year = date('Y')-1; query_posts('day='.$current_day.'&year='.$last_year); if (have_posts()): while (have_posts()) : the_post(); the_title(); the_excerpt(); endwhile; endif; ?>
# 3. عرض أحدث خمس منشورات مثبتة في الحلقة
تسمح الوظيفة الافتراضية بإلصاق منشور واحد بالصفحة الأولى. الاختراق أدناه يضع خمس وظائف مثبتة.
يفكر العديد من المدونين في المنشورات اللاصقة كمشاركات مميزة لأنها تسمح بعرض الإدخال فوق الآخرين. إذا كنت تريد إنشاء فئة "اختيارات المحرر" الخاصة بك ، فهناك اختراق لهذا الغرض فقط. يجب إدخال الكود أدناه في أي مكان في السمة للعمل. يمكنك أيضًا تغيير الرقم لإظهار مشاركات أقل عن طريق استبدال الرقم الموجود في السطر الرابع.
<?php $sticky = get_option('sticky_posts'); rsort( $sticky ); $sticky = array_slice( $sticky, 0, 5); query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) ); if (have_posts()) : while (have_posts()) : the_post(); the_title(); the_excerpt(); endwhile; endif; ?>
# 4. قائمة المشاركات من فئة معينة
قم بتمييز المنشورات من نفس الفئة مع الاختراق أدناه.
إذا احتجت لسبب ما إلى تمييز المنشورات التي تشترك في نفس الفئة (على سبيل المثال ، مقالات إرشادية لكتاب المقالات) ، أدخل الكود التالي في ملف الحلقة.
<?php foreach((get_the_category()) as $category) { $thecat = $category->cat_ID . ' '; query_posts('child_of='.$thecat); if (have_posts()) : while (have_posts()) : the_post(); //Classic WP loop endwhile;endif; ?>
# 5. تقديم قائمة بالمشاركات المستقبلية
إن السماح للقراء بمعرفة المنشورات القادمة قد يثير اهتمامهم ويجعلهم يعودون إلى مدونتك لقراءتها. إذا كانت هذه فكرة رائعة بالنسبة لك ، فاستخدم الكود أدناه لتقديم قائمة مختصرة بالمشاركات القادمة على موقع WordPress الخاص بك.
<?php query_posts('showposts=10&post_status=future'); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <h2><?php the_title(); ?></h2> <span class="datetime"><?php the_time('j. F Y'); ?></span></p> <?php endwhile; else: ?><p>No future events scheduled.</p> <?php endif; ?>
# 6. احصل على المشاركات التي تم تحميلها في تاريخ محدد
إذا كنت تواجه صعوبة في العثور على بعض المنشورات في خلاصتك ، فيمكنك البحث عنها باستخدام حلقة. من الممكن إدخال الكود التالي الذي يجعل البحث سهلاً حقًا. على وجه التحديد ، يقوم باسترداد الإدخالات التي تم نشرها بين تاريخين تحددهما بنفسك.
<?php function filter_where($where = '') { $where .= " AND post_date >= '2012-08-19' AND post_date <= '2012-08-11'"; return $where; } add_filter('posts_where', 'filter_where'); query_posts($query_string); while (have_posts()) : the_post(); the_content(); endwhile; ?>
# 7. اعرض حلقة من الصور
يعد معرض الصور في صفحة البداية لموقع WordPress فكرة جيدة لأن معظم الأشخاص يقدرون العناصر المرئية. إذا كانت مشاركاتك تحتوي على صورة رئيسية ، فسيقوم الكود أدناه باستردادها لعرضها في حلقة.
أدخل الكود التالي في ملف jobs.php:
function catch_that_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $matches); $first_img = $matches [1] [0]; if(empty($first_img)){ //Determines a default image $first_img = "/images/default.jpg"; } return $first_img; }
# 8. قم بإزالة المشاركات تلقائيًا عن طريق تحديد تاريخ انتهاء الصلاحية
افترض أنك تدير مسابقة لزيادة عدد القراء على مدونتك. عندما تنتهي المسابقة ، تقوم بنشر النتائج ، والأهم من ذلك ، الإجابات ، أو التلميحات ، والقرائن عليها. بالطبع ، لا ينبغي أن تكون في متناول القراء إلى الأبد لأنك قد تجري مسابقة أخرى في المستقبل ، أليس كذلك؟
طريقة جيدة لإزالة المنشورات حتى عندما نسيتها هي جدولة ذلك عن طريق تحديد تاريخ انتهاء الصلاحية. الحلقة أدناه تحل محل الحلقة الموجودة لديك وتفعل ذلك بالضبط.
لا تنس استخدام تنسيق mm / dd / yyyy 00:00:00 لاستبدال وقت انتهاء الصلاحية.
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> $expirationtime = get_post_custom_values('expiration'); if (is_array($expirationtime)) { $expirestring = implode($expirationtime); } $secondsbetween = strtotime($expirestring)-time(); if ( $secondsbetween > 0 ) { // For example… the_title(); the_excerpt(); } endwhile; endif; ?>
# 9. تعليقات منفصلة من Trackbacks
سيتم ربط إدخال شائع في مدونتك من العديد من المواقع الأخرى. للتأكد من أن القراء يمكنهم متابعة المناقشة في قسم التعليقات بشكل مريح ، يجب عليك فصل التعليقات والتعليقات.
كل ما عليك فعله هو فتح comments.php والبحث عما يلي:
foreach ($comments as $comment) : ?> // Comments are displayed here endforeach;
وجدت ذلك؟ رائع ، الآن استبدله برمز جديد:
<ul class="commentlist"> <?php //Displays comments only foreach ($comments as $comment) : ?> <?php $comment_type = get_comment_type(); ?> <?php if($comment_type == 'comment') { ?> <li>//Comment code goes here</li> <?php } endforeach; </ul> <ul> <?php //Displays trackbacks only foreach ($comments as $comment) : ?> <?php $comment_type = get_comment_type(); ?> <?php if($comment_type != 'comment') { ?> <li><?php comment_author_link() ?></li> <?php } endforeach; </ul>
# 10. إظهار الوظائف ذات الصلة
يعد عرض المنشورات ذات الصلة طريقة جيدة لزيادة عدد القراء. كل ما عليك فعله لتحقيق ذلك هو لصق كود خاص في ملف single.php.
<?php $backup = $post; // backup the current object $tags = ks29so_get_post_tags($post->ID); $tagIDs = array(); if ($tags) { $tagcount = count($tags); for ($i = 0; $i < $tagcount; $i++) { $tagIDs[$i] = $tags[$i]->term_id; } $args=array( 'tag__in' => $tagIDs, 'post__not_in' => array($post->ID), 'showposts'=>5, 'caller_get_posts'=>1 ); $my_query = new WP_Query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) : $my_query->the_post(); ?> <h3><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3> <?php endwhile; } else { ?> <h2>No related posts found!</h2> <?php } } $post = $backup; // copy it back ks29so_reset_query(); // to use the original query again ?>
رقم 11. تحديد كيفية عرض منشورات معينة على الصفحة الرئيسية
تعرض الغالبية العظمى من سمات WordPress جميع المنشورات بنفس الطريقة في صفحة البداية. ومع ذلك ، إذا لم تعجبك ، فيمكنك تغييره وتحديد أي منها يجب عرضه بالكامل وأي منها فقط مقتطفات كافية.
ابحث عن ملف index.php وابحث عن حلقة هناك. يحل محله الكود التالي:
<?php if (have_posts()) : while (have_posts()) : the_post(); $customField = get_post_custom_values("full"); if (isset($customField[0])) { //Custom field is set, display a full post the_title(); the_content(); } else { // No custom field set, lets display an excerpt the_title(); the_excerpt(); endwhile; endif; ?>
رقم 12. اعرض المحتوى الترويجي أعلى المنشورات على الصفحة الرئيسية
أدخل الكود التالي في ملف index.php لإضافة محتوى ترويجي.
<div class="content-loop">
# 13. قائمة بجميع مؤلفي مدونة في صفحة
ما عليك سوى لصق هذا الرمز في أي مكان في الحلقة لعرض قائمة بجميع المؤلفين.
<ul> <?php ks29so_list_authors('exclude_admin=0&optioncount=1&show_fullname=1&hide_empty=1'); ?> </ul>
# 14. استخدم الحقل المخصص لإظهار اسم المؤلف الضيف
إذا كنت تستخدم مؤلفين ضيوف في مدونتك ، فمن المحتمل جدًا أنك لا تنشئ صفحة منفصلة لهم. لماذا لا تعرض فقط اسمهم بدلاً من ذلك؟
أدخل هذا الرمز في single.php للقيام بذلك:
<?php $author = get_post_meta($post->ID, "guest-author", true); if ($author != "") { echo $author; } else { the_author(); } ?>
#15. جعل الصورة مطلبًا إلزاميًا للنشر
غالبًا ما تتمتع المشاركات التي تحتوي على صور بمشاهدات أكثر من تلك التي لا تحتوي على صور. افتح ملف jobs.php الخاص بك لجعلها إلزامية.
add_action('save_post', 'wpds_check_thumbnail'); add_action('admin_notices', 'wpds_thumbnail_error'); function wpds_check_thumbnail( $post_id ) { // change to any custom post type if( get_post_type($post_id) != 'post' ) return; if ( ! has_post_thumbnail( $post_id ) ) { // set a transient to show the users an admin message set_transient( "has_post_thumbnail", "no" ); // unhook this function so it doesn't loop infinitely remove_action('save_post', 'wpds_check_thumbnail'); // update the post set it to draft ks29so_update_post(array('ID' => $post_id, 'post_status' => 'draft')); add_action('save_post', 'wpds_check_thumbnail'); } else { delete_transient( "has_post_thumbnail" ); } } function wpds_thumbnail_error() { // check if the transient is set, and display the error message if ( get_transient( "has_post_thumbnail" ) == "no" ) { echo "<div class='error'><p><strong>You must add a Featured Image before publishing this. Don't panic, your post is saved.</strong></p></div>"; delete_transient( "has_post_thumbnail" ); } }
# 16. إعادة التوجيه إلى صفحة معينة بعد التسجيل
افتح ملف jobs.php وأضف الكود أدناه.
function __my_registration_redirect(){ return home_url( '/my-page' ); } add_filter( 'registration_redirect', '__my_registration_redirect' ); #17. Insert Ads in Post Use this code in your functions.php file to wrap ads in a post in any place you want. Hack function googleadsense($content){ $adsensecode = 'Your Ad Codes Here'; $pattern = '<!-googlead->'; $content = str_replace($pattern, $adsensecode, $content); return $content; } add_filter('the_content', 'googleadsense');
# 18. استخدم الرموز القصيرة لعرض الإعلانات
حدد المكان الذي تريد إدراج إعلان فيه والصق الشفرة التالية في function.php.
function showads() { return ' AD’S CODE HERE '; } add_shortcode('adsense', 'showads');
# 19. عرض المشاركات الأكثر تعليقًا
أضف الكود التالي إلى ملف functions.php لإظهار المشاركات التي بها أكبر عدد من التعليقات.
function wpb_most_commented_posts() { ob_start();?> <ul class="most-commented"> <?php $query = new WP_Query('orderby=comment_count&posts_per_page=10'); while($query->have_posts()) : $query->the_post(); ?> <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a> <span class="wpb-comment-count"><?php comments_popup_link('No Comments;', '1 Comment', '% Comments'); ?></span></li> <?php endwhile; ?> </ul> <?php// Turn off output buffering $output = ob_get_clean(); return $output; } add_shortcode('wpb_most_commented', 'wpb_most_commented_posts'); add_filter('widget_text', 'do_shortcode');
# 20. تفعيل دعم الصور المميزة
تدعم الغالبية العظمى من سمات WordPress الصور المميزة ، ولكن إذا لم تكن صورتك كذلك ، فيمكنك تمكينها عن طريق إدراجها في ملف function.php.
add_theme_support( 'post-thumbnails' );
رقم 21. إظهار آخر التعليقات
استخدم هذا الرمز في أي مكان في الحلقة لعرض أحدث خمسة تعليقات.
<?php $query = "SELECT * from $wpdb->comments WHERE comment_approved= '1' ORDER BY comment_date DESC LIMIT 0 ,5"; $comments = $wpdb->get_results($query); if ($comments) { echo '<ul>'; foreach ($comments as $comment) { $url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">'; echo '<li>'; echo '<div class="img">'; echo $url; echo get_avatar( $comment->comment_author_email, $img_w); echo '</a></div>'; echo '<div class="txt">Par: '; echo $url; echo $comment->comment_author; echo '</a></div>'; echo '</li>'; } echo '</ul>'; } ?>
هل أنت جاهز للقرصنة؟
استخدم هذه التعديلات المفيدة وعزز وظائف موقع WordPress الخاص بك!