web-dev-qa-db-fra.com

K2 et balises Open Graph dupliquées

J'ai ce site clien't avec Joomla 2.5 et K2 2.6.9. Oui, je sais qu'il devrait être mis à jour, mais dites-le à ce client "pas cher". Néanmoins, cela fonctionne parfaitement et le client en est heureux pendant des années.

Mais (il y a toujours au moins un "mais", n'est-ce pas?), Il est difficile de partager des éléments K2 sur Facebook! Parfois, ils indiquent que le titre de l'élément n'est pas correct et parfois, l'image principale de l'élément n'est pas partagée. Je n'utilise aucun plug-in de partage social sur ce site, mais il a sh404SEF pour les URL SEF et ses fonctionnalités sociales sont activées. Le partage social fonctionne correctement pour toutes les autres pages, à l'exception des éléments K2. C'est pourquoi je suis certain que K2 est à l'origine de ces problèmes. Dans les options de catégorie K2, je me suis assuré que toutes les fonctionnalités sociales de K2 étaient désactivées, mais lorsque je vérifie le partage d'un élément K2 via Open Graph Debugger, il affiche clairement les balises OG en double.

Comment désactiver les tags Open Graph de K2?

2
Mikan

J'ai eu un problème un peu similaire récemment. Pour résoudre ce problème, vous devez pirater l’un des fichiers k2 core.

//Go to(windows style path) joomla root/components/com_k2/views/item/view.html.php  
// and comment line from 445 to 455
/*
$document->setMetaData('og:url', $uri->toString());
        $document->setMetaData('og:title', htmlspecialchars($document->getTitle(), ENT_QUOTES, 'UTF-8'));
        $document->setMetaData('og:type', 'Article');
        $facebookImage = 'image'.$params->get('facebookImage', 'Small');
        if ($item->$facebookImage && JFile::exists(JPATH_SITE.$item->$facebookImage))
        {
            $image = substr(JURI::root(), 0, -1).str_replace(JURI::root(true), '', $item->$facebookImage);
            $document->setMetaData('og:image', $image);
            $document->setMetaData('image', $image);
        }
        $document->setMetaData('og:description', htmlspecialchars(strip_tags($document->getDescription()), ENT_QUOTES, 'UTF-8'));
*/

For joomla root/components/com_k2/views/latest​/view.html.php

comment line from line 256 - 261
// Set Facebook meta data
/*
        $document = JFactory::getDocument();
        $uri = JURI::getInstance();
        $document->setMetaData('og:url', $uri->toString());
        $document->setMetaData('og:title', (K2_JVERSION == '15') ? htmlspecialchars($document->getTitle(), ENT_QUOTES, 'UTF-8') : $document->getTitle());
        $document->setMetaData('og:type', 'website');
        $document->setMetaData('og:description', strip_tags($document->getDescription()));
*/

For joomla root/components/com_k2/views/itemlist/view.html.php  line 690 to 701

// Set Facebook meta data
/*
    $document = JFactory::getDocument();
        $uri = JURI::getInstance();
        $document->setMetaData('og:url', $uri->toString());
        $document->setMetaData('og:title', (K2_JVERSION == '15') ? htmlspecialchars($document->getTitle(), ENT_QUOTES, 'UTF-8') : $document->getTitle());
        $document->setMetaData('og:type', 'website');
        if ($task == 'category' && $this->category->image && strpos($this->category->image, 'placeholder/category.png') === false)
        {
            $image = substr(JURI::root(), 0, -1).str_replace(JURI::root(true), '', $this->category->image);
            $document->setMetaData('og:image', $image);
            $document->setMetaData('image', $image);
        }
        $document->setMetaData('og:description', strip_tags($document->getDescription()));

*/

J'ai trouvé cette solution sur le forum JoomlaWorks Empêche K2 de générer des tags OG et le lien indiqué en tant que solution correctif de graphe ouvert par défaut Com_k2

Il y a une 3ème option qui est à peu près la même - méta-balise k2-and-setting-the-incorrect-open-graph-description

J'espère que ça aide.

3
user7746