web-dev-qa-db-fra.com

Le bouton Insérer dans le message est manquant pour certaines images

Je pensais être fou, mais sur certaines images de ma médiathèque, il n'y a pas de bouton "Insérer dans le message". regarder la photo:

enter image description here

ceci ne concerne que certaines images, et le bouton est présent, comme il est censé l'être, pour les autres.

qu'est-ce qui pourrait faire que cela afflige des images particulières et pas toutes?

2
helgatheviking

pense que je l'ai trouvé si cela peut être une aide. je ne l'ai pas fini .. mais je continuerai quand même demain, le temps de dormir.

voici quel était mon appel original

tb_show('', 'media-upload.php?post_id=1&type=image&TB_iframe=true');

que d'un clic de bouton ... jQuery. Maintenant, je me rends compte que la fonction wordpress dans media.php (includes\media.php) regarde si l'identifiant de publication existe. Avant, cela fonctionnait juste trouver avec "post_id=1". mais maintenant nous devons passer le post id ... alors mon appel va ressembler

tb_show('', 'media-upload.php?post_id= < ? php echo Xxxxx ?> &type=image&TB_iframe=true');

(sans l'espace vide dans aronud le '?')

xxxxx est remplacé par mon post id... maintenant, je suis nouveau pour php, alors je suis ici .. je vais dormir, mais hé. ça marche bien quand je le code moi-même avec le bon post id.

autre solution possible:

c'est la ligne qui fait apparaître le bouton:

$form_fields['buttons'] = array( 'tr' => "\t\t$send $thumbnail $delete\n" );

regardez autour de lui dans le \includes\media.php... peut-être est-il plus facile que cela semble pour un newbe en php comme moi!

peaaaace out

1
garybob91

Le message a-t-il été enregistré avant que vous essayiez d'insérer l'image? Je suis sûr que pour insérer une image dans un message, celui-ci doit avoir un post_id valide.

1
Tom

J'avais le même problème, mais dans mon cas, ce n'était pas sur une base "d'image", mais le bouton "Insérer dans la publication" n'a pas pu générer sur certains types de publication personnalisés. Dans mon cas - je ne suis pas sûr que cela s'applique -, il s'agissait d'ajouter un éditeur modifié TinyMCE à une métabox personnalisée (j'utilisais la classe MetaBox de WPAlchemy), puis de désactiver l'éditeur par défaut (maintenant redondant), qui apparemment apparemment dit à WordPress que l’utilisateur n’avait aucun moyen d’insérer des images dans ce type de message. Logiquement, WordPress n'a pas ressenti le besoin de générer le bouton "Insérer", car il ne s'attendait pas à recevoir des images.

Mon correctif était simple et, même si la source du problème pouvait être différente, la solution pourrait être la même. Tout ce que vous avez à faire est de dire à WordPress que l'insertion d'image doit toujours être autorisée:

add_filter('get_media_item_args', 'allow_img_insertion');
function allow_img_insertion($vars) {
    $vars['send'] = true; // 'send' as in "Send to Editor"
    return($vars);
}

Si toujours est trop souvent, il suffit d'ajouter le filtre de manière conditionnelle (c'est-à-dire détecter le type de publication, comme je l'ai fait).

1
Tomas Buteler

Si vous avez un type de publication sans éditeur, le téléchargement de média dans ce type de publication ne comportera pas de bouton "Insérer dans la publication". Je ne sais pas si c'est votre cas, mais l'expérience personnelle indique que cela pourrait en être la raison :)

Je voudrais certainement désactiver tous les plugins et basculer sur un thème par défaut pour voir si l'un de ceux-ci est à l'origine d'un conflit. Absolument ne modifiez pas le noyau.

1
helenhousandi