بعض من أكواد الووردبريس المفيدة في تصميم القوالب
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله وبركاته
أذكر إني ذكرت في أحد المواضيع السابقة انني دائما ابحث عن مجموعة من الأكواد أستطيع من خلالها إدارة ما اريد في الووردبريس و إذا وصلت الى طريق مسدود سأستخدم الأضافة المطلوبة لهذا الغرض (Plugin) و ذلك لأن الإضافات تحتاج الى تحديث مستمر بين فترة و أخرى و خصوصا اذا قمت بتغيير أكواد الأضافة لتتماشى مع متطلباتك, لذلك تحتاج الى معرفة الأكواد التي قمت بتغييرها و أيضا الستايل الخاص بها في كل مرة و أحيانا تصبح المسألة مملة و في بعض الأحايين قد تنسى.
لذلك قمت بجمع بعض من الأكواد الموجودة في المواقع التطوييرية الخاصة بتصميم و تخصيص قوالب الووردبريس و منها :
1- إظهار أخر المواضيع المضافة في المدونة :
<?php query_posts('showposts=5'); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php endwhile;?>
</ul>
حيث showposts=5 هو عدد المواضيع ممكن تغيير العدد الى العدد المطلوب.
2- أخر التعليقات المضافة :
أخر التعليقات من الممكن ان تجدها في المربعات الجانبية و تقوم بأظافتها الى القائمة الجانبية (Sidebar) لكن في بعض الأحيان قد تحتاج الى إضافتها في مكان أخر ضمن القالب و ذلك من خلال إستدعاء أخر التعليقات من قاعدة البيانات عن طريق الكود الأتي :
<?php
global $wpdb;
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,30) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = ''
ORDER BY comment_date_gmt DESC
LIMIT 10";
$comments = $wpdb->get_results($sql);
$output = $pre_HTML;
$output .= "\n<ul>";
foreach ($comments as $comment) {
$output .= "\n<li>".strip_tags($comment->comment_author)
.":" . "<a href=\"" . get_permalink($comment->ID) .
"#comment-" . $comment->comment_ID . "\" title=\"on " .
$comment->post_title . "\">" . strip_tags($comment->com_excerpt)
."</a></li>";
}
$output .= "\n</ul>";
$output .= $post_HTML;
echo $output;?>
حيث LIMIT 10 في السطر 13 هو عدد أخر التعليقات المضافة و يمكن تغيرها الى الى عدد أخر .
3- إظهار التصنيفات على شكل قائمة منسدلة :
<form action="<?php bloginfo('url'); ?>/" method="get">
<?php
$select = wp_dropdown_categories('show_option_none=إختر التصنيف&show_count=1&orderby=name&echo=0');
$select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select); echo $select; ?>
<noscript><input type="submit" value="View" /></noscript>
</form>
4- إظهار الأرشيف على شكل قائمة منسدلة :
<select name=\"archive-dropdown\" onChange='document.location.href=this.options[this.selectedIndex].value;'>
<option value=\"\"><?php echo attribute_escape(__('إختر الشهر')); ?></option>
<?php wp_get_archives('type=monthly&format=option&show_post_count=1'); ?> </select>
5- إضافة عناوين ديناميكية :
العناوين الديناميكية أقصد بها العناويين التي ستظهر في متصفح الزائر و تمييز الصفحات و الأرشيف و الرئيسية و التصنيفات عن بعضها البعض و يتم إستبدال الـ <title></title> بهذا الكود في ملف الهيدر header.php :
<title><?php if (is_home()) { echo bloginfo('name');
} elseif (is_404()) {
echo '404 غير موجود';
} elseif (is_category()) {
echo 'التصنيف:'; wp_title('');
} elseif (is_search()) {
echo 'تنائج البحث';
} elseif ( is_day() || is_month() || is_year() ) {
echo 'الأرشيف:'; wp_title('');
} else {
echo wp_title('');
}
?></title>
6 – إستيراد الخلاصة من أي موقع :
<?php include_once(ABSPATH.WPINC.'/rss.php');
wp_rss('http://feeds2.feedburner.com/Subswiss', 5); ?>
حيث :http://feeds2.feedburner.com/Subswiss هو رابط الخلاصة و 5 هو عدد المواضيع المستوردة من الخلاصة .
أو بشكل أخر أكثر تفصيلا :
<?php if(function_exists('fetch_feed')) {
include_once(ABSPATH.WPINC.'/feed.php');
$feed = fetch_feed('http://feeds.feedburner.com/Subswiss');
$limit = $feed->get_item_quantity(7); // specify number of items
$items = $feed->get_items(0, $limit); // create an array of items
}
if ($limit == 0) echo '<div>الخلاصة قد تكون فارغة او غير متوفرة حالياً.</div>';
else foreach ($items as $item) : ?>
<div>
<a href="<?php echo $item->get_permalink(); ?>" title="<?php echo $item->get_date('j F Y @ g:i a'); ?>">
<?php echo $item->get_title(); ?>
</a>
</div>
<div>
<?php echo mb_substr($item->get_description(), 0, 200); ?>
<span>....</span>
</div>
<?php endforeach; ?>
7- إضافة مواضيع عشوائية :
<?php query_posts('showposts=5&orderby=rand'); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php endwhile;?>
</ul>
8 – إظهار الموضوع فقط الى الأعضاء المسجلين :
في بعض الأحيان لا ترغب بظهور الموضوع الى الزوار بل الى الأعضاء المسجلين في المدونة فقط. لذا سوف نقوم بعمل مختصر يتم وضعه في الموضوع المعيين بحيث لا يستطيع أحد مشاهدة الموضوع الا بعد التسجيل :
- إفتح ملف الـ functions.php الموجود في ملفات القالب الخاص بك و قم بإظافة هذا الكود
<?php
function member_check_shortcode($atts, $content = null) {
if (is_user_logged_in() && !is_null($content) && !is_feed()) {
return $content;
} else {
return 'أعتذر, لكن هذا الموضوع سوف يظهر فقط الى الأعضاء المسجلين. قم بالتسجيل لتشاهد الموضوع';
}
}
add_shortcode('member', 'member_check_shortcode');
?>
الان كل ما عليك فعله هو التوجه الى الموضوع و تحريره و إضافة هذا المختصر اليه :
[member] هنا تقوم بكتابة الموضوع [/member]
9 – إضافة مربع تسجيل الدخول من دون إضافة (رأيت الكثيرين يبحث عن هذه الخاصية) :
<?php if(!is_user_logged_in()) { ?>
<form action="<?php echo wp_login_url(get_permalink()); ?>" method="post">
<label for="log">
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="22" /> إسم المستخدم</label>
<label for="pwd"><input type="password" name="pwd" id="pwd" size="22" /> كلمة المرور</label>
<label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> تذكرني؟</label>
<input type="submit" name="submit" value="الدخول" />
</form>
<?php } ?>
10 – إضافة نص الى محرر المواضيع بشكل تلقائي :
في كل مرة تقوم بكتابة موضوع جديد, تقوم بكتابة الرسالة الترحيبية أول الموضوع و التوديعية في نهاية الموضوع. من خلال هذا الكود تستطيع كتابة ما تريد و يقوم الووردبريس بأضافة هذا النص الى الموضوع الجديد بشكل تلقائي و من دون الحاجة الى كتابة الرسالة الترحيبية في كل مرة .
قم بتحرير ملف functions.php الموجود في ملفات القالب الخاص بمدونتك و أضف الكود الأتي :
<?php
add_filter( 'default_content', 'my_editor_content' );
function my_editor_content( $content ) {
$content = "مرحبا بكم في درس جديد من دروس تعلم الدورة الفلانية . شكرا لكم على المتابعة";
return $content;
}
?>
ستلاحظ ان النص سوف يظهر بشكل تلقائي بمجرد ان تعمل موضوع جديد .
كانت هذه مجموعة من أكواد الووردبريس التي تعلمتها شاركتكم بها لتسفيدوا منها في تصميم او تخصيص قوالب الووردبريس الخاصة بكم.
وفقكم الله
كرار العبادي








أبيض - ذهبي
أسود- أحمر
ما أعجبني بهذه التدوينة هو وجود كثير من الاكواد الخفية التي تطلب مني وقتاً كبيراً حتى عرفتها لوحدي و يا ليتك كنت موجود ساعة حاجتي إليها
مشكور كرار متميز كعادتك و إلى الأمام
ربنا يخليك يا باشا
و انا موجود في أي وقت .
يعطيك العافية أخوي على الأكواد الحلوة وجاري تجربتها والتطبيق
الله يعافيك و أهلا وسهلا .
شكراً لك على الافادة
يعطيك العافيه اخوي
بصراحه مجموعة رائعة جداً وكنت ابحث عن طريقة غير الأضافات في اضافة المواضيع العشوائية
تحيه لك
سعدت بتقديم المساعدة
اكواد جميلة جدا…
لكن لو توضح اكثر لمتابعيك يكون افضل
تحياتي اخي كرار