Über Web, Tech, Games, Art,
Musik, Code & Design

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)


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert