it-swarm.com.de

Datenträger einfügen - Anhang - Link zu: Entfernen Sie die Option "Anhangsseite"

Ich möchte die Option Anhangsseite aus der Link-zu-Auswahl des Anhangs entfernen.

Ich möchte meinen Kunden nicht immer sagen, dass sie die Auswahl dieser Option vermeiden sollen. Ich möchte sie einfach herausnehmen. Aber ich bin nicht programmierer genug, um das zu tun. Die Optionen Mediendatei, Benutzerdefinierte URL und Keine sind nützlich und sollten erhalten bleiben.

Weiß jemand, wie man nur die Anhangsseite Option dort entfernt?

3
Sofian

Diese Optionen sind in der Medienvorlage tmpl-attachment-display-settingsUnterstrich in der Datei /wp-includes/media-template fest codiert:

<script type="text/html" id="tmpl-attachment-display-settings">
    <h3><?php _e('Attachment Display Settings'); ?></h3>
    ...cut...
    <select class="link-to"             
            data-setting="link"
            <# if ( data.userSettings && ! data.model.canEmbed ) { #>
                data-user-setting="urlbutton"
            <# } #>>

        <# if ( data.model.canEmbed ) { #>
            <option value="embed" selected>
                <?php esc_attr_e('Embed Media Player'); ?>
            </option>
            <option value="file">
        <# } else { #>
            <option value="file" selected>
        <# } #>
        <# if ( data.model.canEmbed ) { #>
            <?php esc_attr_e('Link to Media File'); ?>
        <# } else { #>
            <?php esc_attr_e('Media File'); ?>
        <# } #>
            </option>
            <option value="post">
            <# if ( data.model.canEmbed ) { #>
                <?php esc_attr_e('Link to Attachment Page'); ?>
            <# } else { #>
                <?php esc_attr_e('Attachment Page'); ?>
            <# } #>
            </option>
            <# if ( 'image' === data.type ) { #>
                <option value="custom">
                    <?php esc_attr_e('Custom URL'); ?>
                </option>
                <option value="none">
                      <?php esc_attr_e('None'); ?>
                </option>
            <# } #>
        </select>
        ...cut...
</script>

Sie können die Vorlage jederzeit überschreiben, indem Sie eine eigene benutzerdefinierte Vorlage hinzufügen. Ich bin mir jedoch nicht sicher, wie stabil dies in Bezug auf zukünftige Änderungen wäre.

Wenn Ihre image_default_link_type -Option zum Beispiel auf file und nicht auf post eingestellt ist, können Sie stattdessen versuchen, die Anhangsseite -Option mit einigen CSS-Hacks wie den folgenden auszublenden:

/**
 * Hide the 'attachment page' option from the attachment link selection.
 * @see http://wordpress.stackexchange.com/a/173027/26350
 */
add_action( 'print_media_templates', function(){
    echo '<style>.post-php select.link-to option[value="post"] {display:none;}</style>';
});

Dann wären die Linkoptionen:

Vorher:

Before

Nachher: ​​

Hide attachment page option

Aktualisieren:

Als Antwort auf den Kommentar können wir die Bildmediendialoge Hinzufügen- und Bearbeiten auf dem Post-Bearbeitungsbildschirm wie folgt bearbeiten:

/**
 * Hide the 'Attachment Page' option for the link-to part.
 */

add_action( 'print_media_templates', function(){
    echo '
        <style>       
            .setting select.link-to option[value="post"],
            .setting select[data-setting="link"] option[value="post"] 
            { display: none; }
        </style>';
});
6
birgire