15. November 2023
Einzelne Seiten in WordPress von der Suche ausschließen
Einzelne Seiten einer WordPress-Website von der Suche auszuschließen, ist mit folgendem Code in der functions.php möglich.
Der Code erzeugt eine Metabox in den Beitragseinstellungen in der gewählt werden kann, ob die Seite in der Suche gefunden werden soll, oder nicht.
function custom_exclude_page_from_search() {
add_meta_box(
'exclude_from_search',
__('Von Suche ausschließen'),
'custom_exclude_from_search_callback',
'page',
'side',
'default'
);
}
function custom_exclude_from_search_callback($post) {
$exclude = get_post_meta($post->ID, '_exclude_from_search', true);
$exclude = $exclude ? $exclude : '0';
echo '<label for="exclude_from_search">';
echo '<input type="checkbox" id="exclude_from_search" name="exclude_from_search" value="1" ' . checked($exclude, '1', false) . '>';
echo __('von der Suche ausschließen');
echo '</label>';
}
function custom_save_exclude_from_search($post_id) {
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
if (!current_user_can('edit_page', $post_id)) return;
if (isset($_POST['exclude_from_search'])) {
update_post_meta($post_id, '_exclude_from_search', '1');
} else {
update_post_meta($post_id, '_exclude_from_search', '0');
}
}
add_action('add_meta_boxes', 'custom_exclude_page_from_search');
add_action('save_post', 'custom_save_exclude_from_search');
Code-Sprache: PHP (php)