Lesefortschritt:

    Kurzlinks mit dem Gutenberg-Editor: URL-Shortener «Marke Eigenbau»

    22. Februar 2026 | functions.php, SocialMedia, Word­Press

    Trick # 542 | Dieser Beitrag beinhaltet 619 Wörter. – Geschätzte Lesezeit: ca. 4 Minuten.

    Word­Press-Beiträge erhalten von Haus aus oft sehr lange URL, welche auf dem Beitragstitel basieren. Doch es geht auch kürzer: Mit einem URL-Shortener. Damit Sie aber nicht von externen Diensten abhängig sind, zeigen wir Ihnen heute eine Variante, wie Sie sowas selber umsetzen können. Der Hack funktioniert – anders als ein früherer Trick – auch mit dem Gutenberg-Editor von Word­Press. Ein heisser Tipp für das Teilen von Beiträgen auf den sozialen Medien.

    Die Idee dieses Word­Press-Tricks hatten wir Ihnen vor einigen Jahren schon einmal vorgestellt: im Beitrag «Kurzlinks: Mit diesem Snippet bauen Sie Ihren eigenen URL-Shortener». Allerdings hat die damalige Funktion mit dem Gutenberg-Editor nicht mehr funktioniert – so haben wir eine neue Variante geschrieben und diese auch gleich ein wenig verbessert.

    Dafür kopieren Sie einfach den nachfolgenden PHP-Code und fügen Sie ihn der Dtai functions.php hinzu – im Backend unter Design/Theme-Datei-Editor:

    // Add a meta box to display the shortlink in the post editor
    add_action('add_meta_boxes', function() {
    add_meta_box(
    'post_shortlink',
    'Shortlink',
    'display_shortlink_meta_box',
    'post',
    'side',
    'high'
    );
    });function display_shortlink_meta_box($post) {
    $shortlink = site_url('/' . $post->ID);
    ?>
    <p>Klicken Sie auf das Feld unten, um den Kurzlink zu kopieren:</p>
    <input
    type="text"
    value="<?php echo esc_url($shortlink); ?>"
    readonly
    style="width: 100%; cursor: pointer;"
    onclick="copyToClipboard(this)"
    >
    <p id="copy-message" style="color: green; display: none;">Shortlink kopiert!</p>
    <script>
    function copyToClipboard(input) {
    input.select();
    input.setSelectionRange(0, 99999); // For mobile devices
    navigator.clipboard.writeText(input.value).then(function() {
    const message = document.getElementById('copy-message');
    message.style.display = 'block';
    setTimeout(() => { message.style.display = 'none'; }, 2000);
    });
    }
    </script>
    <?php
    }// Add a rewrite rule to handle URLs with only the Post ID
    add_action('init', function() {
    add_rewrite_rule(
    '^([0-9]+)/?$',
    'index.php?p=$matches[1]',
    'top'
    );
    });// Flush rewrite rules on plugin activation
    register_activation_hook(__FILE__, function() {
    flush_rewrite_rules();
    });// Flush rewrite rules on plugin deactivation
    register_deactivation_hook(__FILE__, function() {
    flush_rewrite_rules();
    });// Redirect visitors from the shortlink to the actual post
    add_action('template_redirect', function() {
    $requested_url = trim($_SERVER['REQUEST_URI'], '/');
    // Check if the URL is numeric (Post ID)
    if (is_numeric($requested_url)) {
    $post_id = intval($requested_url);
    $post = get_post($post_id);if ($post) {
    wp_redirect(get_permalink($post_id), 301);
    exit;
    } else {
    wp_die('Post not found', '404', ['response' => 404]);
    }
    }
    });

    Wenn Sie einen neuen Beitrag erstellen (oder einen bestehenden bearbeiten) haben Sie nun eine neue Metabox für Kurzlinks bereit. Generiert werden eindeutige Links, welche auf der Beitrags-ID von Word­Pressberuhen – funktionieren also wie einst. Die Kurzlinks aus unserem alten Code wurden dabei auch gleich verbessert. Sie sehen nun nicht mehr so aus: https://dr-code.ch/?p=2514, sondern werden weiter vereinfacht: https://dr-code.ch/2514,.

    Werbung

    Keine Inhalte gefunden.

    Werbung

     

    Pin It on Pinterest

    Share This