0
X
Add Snippet To Project
New Project
Add To Existing Project
<?php
function awrasaljazair_block1_category_recent_posts_shortcode($atts) {
ob_start();
$output = '';
// استيراد البيانات الممررة من Shortcode
$atts = shortcode_atts(array(
'category' => '',
), $atts);
// تعقيم اسم التصنيف
$sanitized_category = sanitize_text_field($atts['category']);
// تعيين معلمات الاستعلام
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'post__not_in' => array(get_the_ID()),
);
// إضافة معلمة التصنيف إذا تم تحديدها
if (!empty($sanitized_category)) {
$args['category_name'] = $sanitized_category;
}
// استعلام لاسترجاع المشاركات
$recent_posts = new WP_Query($args);
if ($recent_posts->have_posts()) {
$output .= '<div class="block1-widget-posts-dz-list-wrapper">';
// عرض المشاركة الأولى (المميزة)
if ($recent_posts->have_posts()) {
$recent_posts->the_post();
$output .= '<div class="block1-first-post-dz">';
$output .= '<div class="block1-post-details">';
$output .= '<div class="block1-post-image-dz">';
$output .= '<a href="' . get_the_permalink() . '">' . get_the_post_thumbnail() . '</a>'; // إضافة الرابط للصورة
$output .= '</div>';
$output .= '<div class="block1-post-meta">';
$output .= '<span class="block1-post-date">' . get_the_date() . '</span>';
$output .= '</div>';
$output .= '<h2 class="block1-post-title-dz">';
$output .= '<a href="' . get_the_permalink() . '">' . get_the_title() . '</a>';
$output .= '</h2>';
$output .= '<div class="block1-post-description">' . get_the_excerpt() . '</div>';
$output .= '<a href="' . get_the_permalink() . '" class="block1-read-more">Read More</a>';
$output .= '</div>';
$output .= '</div>';
}
// عرض بقية المشاركات
$output .= '<div class="block1-posts-dz-list">';
while ($recent_posts->have_posts()) {
$recent_posts->the_post();
$output .= '<div class="block1-post-dz-item">';
$output .= '<div class="block1-post-image-dz">';
$output .= '<a href="' . get_the_permalink() . '">' . get_the_post_thumbnail() . '</a>'; // إضافة الرابط للصورة
$output .= '</div>';
$output .= '<div class="block1-post-details">';
$output .= '<h3 class="block1-post-title-dz">';
$output .= '<a href="' . get_the_permalink() . '">' . get_the_title() . '</a>';
$output .= '</h3>';
$output .= '<div class="block1-post-meta">';
$output .= '<span class="block1-post-date">' . get_the_date() . '</span>';
$output .= '</div>';
$output .= '</div>';
$output .= '</div>';
}
$output .= '</div>';
$output .= '</div>';
} else {
$output = 'No posts found.';
}
wp_reset_postdata();
return $output;
}
add_shortcode('awrasaljazair_block1_category_recent_posts', 'awrasaljazair_block1_category_recent_posts_shortcode');
قمت بتعقيم قيمة التصنيف باستخدام sanitize_text_field() وقمت بتحديث الكود ليعمل بشكل صحيح ويتماشى مع متطلبات الأمان. يرجى استبدال الكود الحالي في ملف 'wp-plugin.php' بالكود المحدث أعلاه.