Dans ce didacticiel, vous apprendrez un secret secret: comment générer des captures d'écran de sites Web à utiliser dans vos publications WordPress, à l'aide d'un service fourni par WordPress.com. Nous allons même transformer cela en un shortcode facile à utiliser pour afficher les captures d'écran… commençons!
C'est un secret de polichinelle, et ce depuis quelques années déjà, que WordPress expose un générateur de captures d'écran dans son sous-domaine s.wordpress.com. Et le problème, c'est que tant que vous n'en abusez pas, vous pouvez l'utiliser gratuitement. WordPress.com l'utilise pour générer des captures d'écran de ses différentes activités.
Par exemple, voici l'URL qui montre une capture d'écran de wp.tutsplus d'une largeur de 400 pixels:
http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwp.tutsplus.com?w=400
Vous devrez peut-être cliquer à nouveau sur le lien car le générateur met un peu de temps pour mettre en cache l'image..
Ce que nous allons faire:
Notre shortcode sera utilisé comme:
[ss_screenshot site = "http://wp.tutsplus.com"]
Vous pouvez ajouter le code au fichier functions.php de votre répertoire de thème. Le code complet est disponible dans le lien source ci-dessus.
add_shortcode ('ss_screenshot', 'ss_screenshot_shortcode'); fonction ss_screenshot_shortcode ($ atts) $ width = intval ($ atts ['width']); $ width = (100 <= $width && $width <= 300) ? $width : 200; $site = trim($atts['site']); if ($site !=") $query_url = 'http://s.wordpress.com/mshots/v1/' . urlencode($site) . '?w=' . $width; $image_tag = ''; écho '' . $ image_tag. ''; else echo 'Bad URL de capture d'écran!';
Dans un post ou une page, insérez ce shortcode:
[ss_screenshot site = "http://amazon.com"]
Lorsque vous affichez l'article ou la page, vous devriez voir une capture d'écran d'Amazon d'une largeur de 300 pixels. N'oubliez pas que vous devrez peut-être actualiser la page après quelques secondes pour voir la capture d'écran mise en cache. Jouez avec la largeur et observez ce qui se passe lorsque vous sortez de la plage. En passant, vous pouvez définir n’importe quelle largeur. Testez également une mauvaise URL: vous devriez voir le message d'avertissement au lieu d'une capture d'écran..
Maintenant que nous avons un shortcode fonctionnel, voyons comment nous pouvons l'intégrer dans notre boucle WordPress.
Imaginons un scénario dans lequel nous souhaitons afficher une capture d'écran d'un site à côté de chacun de nos messages. Pour des raisons de formatage et de convivialité, il est préférable d’automatiser ce processus en ajoutant un champ personnalisé à notre écran de post-édition. Dans ce champ, vous pouvez saisir une URL de site qui peut ensuite être utilisée dans la boucle de publication pour afficher une capture d'écran à l'aide de notre nouveau shortcode..
Si le champ personnalisé ne s'affiche pas sur votre écran de post-modification, regardez en haut à droite de l'écran et vous devriez voir l'onglet Options d'écran. Cliquez dessus et cochez la case Champs personnalisés. Maintenant, vous devriez voir quelque chose comme ceci au bas de l'écran:
Cliquez sur le lien Entrer nouveau et créez un nouveau champ personnalisé appelé screenshot_url. Voici ce que vous devriez voir:
Maintenant, lorsque vous créez / modifiez une publication (le champ personnalisé apparaît pour toutes les publications), vous pouvez entrer une URL pour générer une capture d'écran associée à la publication..
Voici une version sérieusement réduite de la boucle de publication WordPress standard (telle que trouvée dans un fichier de modèle de thème), y compris notre code d'affichage de capture d'écran:
if (have_posts ()) while (have_posts ()): the_post (); le titre(); $ url = get_post_meta ($ post-> ID, 'screenshot_url', true); do_shortcode ('[ss_screenshot site = "'. $ url. '"]'); le contenu(); fin si; en attendant;
Si vous avez créé un article portant le titre Honda Accord et lui avez attribué une URL de capture d'écran de http://www.honda.com, à l'aide de votre nouvelle configuration de boucle, vous devriez voir quelque chose comme ceci:
Au lieu d’afficher un message d’avertissement sévère si un message ne contient pas d’URL de capture d’écran, vous pouvez afficher une image par défaut..
Si vous ne souhaitez pas utiliser le générateur de captures d'écran de WordPress, ou si vos besoins sont plus importants, vous pouvez utiliser l'option gratuite sur un service de capture d'écran tel que http://www.shrinktheweb.com. Vous pouvez appliquer les techniques utilisées dans ce didacticiel à n’importe quel service de capture d’écran..