Je crée un site Web de baseball avec plusieurs auteurs. D'après l'expérience passée, peu importe si vous connaissez bien quelqu'un personnellement, cela ne signifie pas qu'il suivra ou même lira vos instructions.
Cela étant dit, je voudrais exiger que toute image qu'un auteur décide d '"utiliser comme image sélectionnée" ait une largeur minimale de 640 pixels et une hauteur minimale de 360 pixels.
J'ai exigé que chaque publication ait une image sélectionnée à l'aide du plugin WyPiekacz ; la publication ne sera pas publiée sans image sélectionnée. J'ai bloqué la possibilité pour un auteur de créer un lien hypertexte vers un autre site en supprimant l'onglet "De l'URL" dans Ajouter un média à l' aide du code de Bainternet.
Maintenant, je dois exiger que toute image utilisée comme image sélectionnée soit d'au moins 640 pixels sur 360 pixels. Je ne suis pas un codeur, mais j'ai joué avec et essayé d'utiliser le code de Maor Barazany comme point de départ, mais en vain. Son code impose des dimensions minimales pour toute image téléchargée .
la source
Réponses:
bien si vous utilisez le plugin WyPiekacz; comme vous l'avez dit pour vérifier que l'image sélectionnée est téléchargée, vous pouvez l'ajuster un peu pour vérifier que s'il y a une image sélectionnée, elle est de dimensions minimales selon vos besoins.
Vous pouvez changer le code ci-dessus dans wypiekacz.php en,
eh bien, je ne comprends pas ce que vous entendez par "onglet Bibliothèque multimédia".
la source
list($url, $width, $height) = wp_get_attachment_image_src($post_id, 'full');
modifié pourlist($url, $width, $height) = wp_get_attachment_image_src(get_post_thumbnail_id( $post->ID ), "Full"); echo $imgsrc[0];
vérifier uniquement les dimensions de l'image sélectionnée et pas toutes les images jointes.J'ai vérifié le noyau et apparemment il y a peu de marge de manœuvre.
/wp-admin/includes/media.php est l'endroit où les onglets Ajouter un média sont générés
La fonction get_media_item de la ligne 1034 est celle qui rend la table des pièces jointes / média. Je ne vois aucun filtre disponible ni les fonctions précédentes qui appellent celui-ci.
Quelques références et exemples de code autour du problème.
Je suppose qu'une solution alternative serait de changer le titre des images téléchargées et d'ajouter ses dimensions. Je ne change pas sûr de la post_title d'un fichier téléchargé, mais renommer le fichier lui - même peut être réalisé avec ces deux filtres: sanitize_file_name et wp_handle_upload_prefilter
la source
Pas une réponse complète et pas pour la prime, juste une preuve que le concept de base fonctionne:
Juste un Snippet de 60 secondes et a un gros problème: cela se déclenchera pour chaque téléchargement, et pas seulement si quelqu'un est prêt à ajouter une image sélectionnée, car nous n'avons pas de moyen d'obtenir le contexte du téléchargeur d'image. Il existe plusieurs façons de contourner ce problème, essentiellement avec une manipulation js.
Je devrais travailler en ce moment, et je n'ai pas le temps de l'expérimenter. Mais je voulais aider autant que possible, et c'est peut-être un point de départ pour les autres.
à votre santé
la source
Ce n'est pas la réponse la plus élégante ... mais ça marche! Le plugin «WyPiekacz», bien que cool, n'a pas été mis à jour depuis trois ans.
La solution la plus élégante avec la meilleure expérience utilisateur utiliserait JavaScript pour gérer cela à la fois pour l'édition rapide et la page de post-édition. Alors pour la bonne chance j'ajouterais quelque chose au
update_post_metadata
filtre (qui fonctionne totalement pour empêcher l'image en vedette mais ne donnera pas d'avertissement car il est exécuté avec AJAX).Les notifications d'administrateur n'apparaîtront pas parce que WordPress redirige, et même alors, n'apparaîtra pas sur une édition rapide (ma méthode affiche un avertissement sur l'édition rapide bien qu'il ne soit pas stylisé).
la source
Voici une façon de vous assurer qu'il existe une miniature correctement dimensionnée avant de l'afficher.
Créez d'abord cette fonction d'assistance:
Ensuite, vous pouvez maintenant vérifier avant d'afficher la miniature du message:
la source
Cela fera ce dont vous avez besoin :)
Il utilise get_the_post_thumbnail qui peut également vous aider, vous n'avez donc pas besoin de créer un tas de code fn que WordPress peut déjà gérer pour vous, juste une pensée.
Cela permet
$thumbnails = get_posts(array('numberposts'=>1,'orderby'=>'rand','meta_key' => '_thumbnail_id'));
d'en saisir un au hasard s'il n'y en a pas, cela peut vous aider à avancer.Ce bit
echo get_the_post_thumbnail($thumbnail->ID, 'small-thumb', array( 'alt' => esc_attr( $post->post_title ), 'title' => esc_attr( $post->post_title ) ));
remarque'small-thumb'
qu'il est mis en correspondance avec ces fn add_image_size que nous avons rassemblés en quelques lignes. Donc, si vous en aviez,add_image_size( 'small-square', 100, 100, true );
vous pourriez faire appel'small-square'
alternativement.À votre santé
la source