web-dev-qa-db-fra.com

Toutes les images insérées obtiennent un lien vers l'image complète, même si l'image est déjà en taille réelle

Ainsi, lorsque je crée un nouveau message et que je télécharge une image sur mon serveur.

Normalement, en fonction de la taille de l'image, vous pouvez sélectionner une image petite, moyenne ou grande à placer à l'intérieur de la publication. Sur d'autres sites que j'ai avec Wordpress, si je sélectionne une image moyenne et l'insère, Wordpress place <a href="...uploads/full-size-img.jpg"><img src="medium.jpg"></a>. Ensuite, si je devais insérer une image en taille réelle, Wordpress saurait que je n'ai pas besoin du <a href="...upload/full-size-img.jpg"></a> autour de l'image en taille réelle.

Le problème que j'ai en ce moment est que maintenant, il pense toujours que j'ai besoin d'un <a href="upload/full-size-img.jpg"></a> pour toutes mes images, même s'il s'agit déjà d'une image en taille réelle. Lorsque je sélectionne l'option Aucune dans la fenêtre contextuelle d'insertion d'image, la prochaine fois que j'essaie d'insérer une image de taille moyenne, cela ne détecte pas que j'aurais besoin du <a href="...uploads/full-size-img.jpg"><img src="medium.jpg"></a>.

Je pourrais continuer à changer l'option de lien dans la fenêtre d'insertion d'image, de "aucune" lorsqu'il s'agit d'image en taille réelle à "URL du fichier" à lorsqu'il s'agit d'une image de taille moyenne. Mais avec mon site, j'ai 26 écrivains différents, donc je devrais leur expliquer à tous quoi faire.

2
Jeza

Le code suivant vide le champ Link URL lorsque vous cliquez sur le bouton Full Size. Et remplissez le même champ avec la valeur File URL lorsque vous cliquez sur d'autres boutons.

Testé avec WordPress 3.4.2. Déposez le code dans le fichier functions.php de votre thème ou créez un plugin simple .

add_action( 'admin_head-media-upload-popup', 'wpse_41539_add_remove_image_url' );

function wpse_41539_add_remove_image_url() 
{
    // Don't run if viewing "From URL" tab
    if( 'type_url' != $_GET['tab'] ) 
    {
        ?>
        <script type="text/javascript">
        jQuery(document).ready( function($) 
        {
            /*
             * If Full Image size selected, empty the URL field
             */
            $(document).on('change','input[type="radio"][value="full"]',function(){
                $(this).parent().parent().parent().parent()
                .find('tr.url td.field button.urlnone').click();
            });

            /*
             * If other image sizes selected, fill the URL field with the File URL
             * Change "button.urlfile" to "button.urlpost" to use the Attachment Post URL
             */
            $(document).on('change','input[type="radio"][value!="full"]',function(){
                $(this).parent().parent().parent().parent()
                .find('tr.url td.field button.urlfile').click();
            });
        });
        </script>
        <?php
    }
}
1
brasofilo