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');


War dieser Artikel hilfreich?


,



Nächster Artikel
Responsive, quadratische divs mit CSS


Schreibe einen Kommentar

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