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
Überblick über den Datenschutz

Diese Website verwendet Cookies, damit wir Ihnen die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in Ihrem Browser gespeichert und dienen dazu, Sie wiederzuerkennen, wenn Sie auf unsere Website zurückkehren, und unserem Team zu helfen, zu verstehen, welche Bereiche der Website Sie am interessantesten und nützlichsten finden.