חיפוש מתקדם
בחר/י נושא

סוג אטרקציה

סוג לינה

סוג הסעדה

מפת אתר

// HTML Sitemap shortcode – יוצר מפת אתר לעמוד (לא XML, לא לגוגל)
add_action('init', function () {
add_shortcode('html_sitemap', function ($atts) {
$a = shortcode_atts([
'show_pages' => '1', // להציג עמודים
'pages_depth' => '3', // עומק היררכיה
'exclude' => ", // IDs להחרגה (12,34)
'show_posts' => '1', // להציג פוסטים
'by' => 'category', // category|post_tag
'show_cpt' => '1', // להציג CPT ציבוריים
'show_dates' => '0', // להציג תאריכים
'cache' => '1', // קאש
'ttl' => '900', // שניות קאש
'title_pages' => 'עמודים',
'title_posts' => 'פוסטים לפי קטגוריה',
'title_cpt' => 'תכנים נוספים',
], $atts, 'html_sitemap');

$key = 'html_sitemap_' . md5(maybe_serialize($a));
if ($a['cache'] === '1') {
$cached = get_transient($key);
if ($cached) return $cached;
}

ob_start();
echo '

';

// עמודים (היררכיה)
if ($a['show_pages'] === '1') {
echo '

' . esc_html($a['title_pages']) . '

    ';
    $pages = wp_list_pages([
    'title_li' => ",
    'echo' => 0,
    'depth' => intval($a['pages_depth']),
    'exclude' => $a['exclude'],
    'post_status' => 'publish',
    ]);
    echo $pages ?: '

  • אין עמודים להצגה.
  • ';
    echo '

';
}

// פוסטים לפי קטגוריה/תגיות
if ($a['show_posts'] === '1') {
$tax = ($a['by'] === 'post_tag') ? 'post_tag' : 'category';
$terms = get_terms(['taxonomy'=>$tax,'hide_empty'=>true]);
echo '

' . esc_html($a['title_posts']) . '

';
if (!is_wp_error($terms) && $terms) {
foreach ($terms as $term) {
echo '

' . esc_html($term->name) . '

    ';
    $posts = get_posts([
    'post_type' => 'post',
    'posts_per_page' => 100,
    'tax_query' => [[ 'taxonomy'=>$tax, 'field'=>'term_id', 'terms'=>$term->term_id ]],
    'post_status' => 'publish',
    'orderby' => 'date',
    'order' => 'DESC',
    'exclude' => array_map('intval', array_filter(array_map('trim', explode(',', $a['exclude']))))
    ]);
    if ($posts) {
    foreach ($posts as $p) {
    echo '

  • ' . esc_html(get_the_title($p)) . '';
    if ($a['show_dates'] === '1') {
    echo ' (' . esc_html(get_the_modified_date(get_option('date_format'), $p)) . ')';
    }
    echo '
  • ';
    }
    } else {
    echo '

  • אין פריטים.
  • ';
    }
    echo '

';
}
} else {
echo '

אין קטגוריות/תגיות להצגה.

';
}
echo '

';
}

// CPT ציבוריים (שאינם בילט-אין)
if ($a['show_cpt'] === '1') {
$pt_objects = get_post_types(['public'=>true, '_builtin'=>false], 'objects');
if (!empty($pt_objects)) {
echo '

' . esc_html($a['title_cpt']) . '

';
foreach ($pt_objects as $pt) {
echo '

' . esc_html($pt->labels->name) . '

    ';
    $items = get_posts([
    'post_type' => $pt->name,
    'post_status' => 'publish',
    'posts_per_page' => 200,
    'orderby' => 'title',
    'order' => 'ASC',
    'exclude' => array_map('intval', array_filter(array_map('trim', explode(',', $a['exclude']))))
    ]);
    if ($items) {
    foreach ($items as $it) {
    echo '

  • ' . esc_html(get_the_title($it)) . '';
    if ($a['show_dates'] === '1') {
    echo ' (' . esc_html(get_the_modified_date(get_option('date_format'), $it)) . ')';
    }
    echo '
  • ';
    }
    } else {
    echo '

  • אין פריטים.
  • ';
    }
    echo '

';
}
echo '

';
}
}

echo '

';

// עיצוב בסיסי קטן
echo '

';

$html = ob_get_clean();
if ($a['cache'] === '1') set_transient($key, $html, intval($a['ttl']));
return $html;
});
});

shikmaלוגו כהה רגיל חדשshaar_hanegevmerhavimeshkolsdot.negevMinistry of Tourism_LOGO

תפריט נגישות