Hozzáadtam nyissa meg a grafikon metaadatait a webhely összes bejegyzéséhez, azonban amikor megpróbálok beilleszteni egy bejegyzési linket a Facebookra, a grafikon metaadatai nem töltődnek be.

Ezután, amikor beszúrom az URL-t, a hibakeresőbe / linterbe , működik, mind a hibakeresőben, mind pedig a normál Facebook-posztoláskor (amely nem működött előtte).

Úgy tűnik, hogy ezzel a problémával foglalkoztak a múltban, ebben a Stack Overflow kérdésben . Ez a kérdés azonban a Rails környezetre vonatkozik.

Ebben a kérdésben az alkalmazás nem tud egyszerre több http-kérést kezelni. A problémát úgy oldották meg, hogy az összes Facebook API-kérelmet a háttérben a delayed_response nevű névvel dolgozták fel.

Mi a legegyszerűbb módja annak, hogy ezt vagy hasonlót megvalósíthassak a WordPress-t futtató PHP-környezetben, és ezáltal (remélhetőleg) megoldjam a problémámat?

** Nem tettem bele egy linket ebbe a bejegyzésbe mert amint a felhasználó futtatja a hibakeresőn, úgy tűnik, hogy működni fog. *

Szerkesztés – Példa metacímkékre egy bejegyzés oldaláról:

<meta property="og:title" content="Budget proposal good news for Ontario drivers - AdvocateDaily.com" /> <meta property="og:type" content="website" /> <meta property="og:image" content="http://build.advocatedaily.com/wp-content/uploads/2013/04/Stacey-Stevens_Colour_NEW_2012-e1354206636925-150x150.jpg" /> <meta property="og:url" content="http://advocatedaily.com/2013/05/budget-proposal-good-news-for-ontario-drivers/" /> <meta property="og:description" content="A provincial budget proposal to reduce auto insurance premiums by an average of 15 per cent is good news for Ontario drivers, but should not come at the cost of benefits available under the policy, says Toronto personal injury lawyer Stacey L. Stevens. &#8220;In response to this announcement, the Insurance Bureau of Canada (IBC) predicts the [...]" /> <meta property="og:site_name" content="Advocate Daily" /> 

A wp_headbe illesztett PHP:

add_action("wp_head", "add_fb_open_graph_tags"); function add_fb_open_graph_tags() { if (is_single()) { global $post; if(get_the_post_thumbnail($post->ID, "thumbnail")) { $thumbnail_id = get_post_thumbnail_id($post->ID); $thumbnail_object = get_post($thumbnail_id); $image = $thumbnail_object->guid; } else { $image = get_template_directory_uri()."/images/advocatedaily-avatar.png"; } //$description = get_bloginfo("description"); $description = og_excerpt( $post->post_content, $post->post_excerpt ); $description = strip_tags($description); $description = str_replace("\"", """, $description); ?> <meta property="og:title" content="<?php the_title(); ?> - AdvocateDaily.com" /> <meta property="og:type" content="website" /> <meta property="og:image" content="<?php echo $image; ?>" /> <meta property="og:url" content="<?php the_permalink(); ?>" /> <meta property="og:description" content="<?php echo $description ?>" /> <meta property="og:site_name" content="<?php echo get_bloginfo("name"); ?>" /> <?php } } function og_excerpt($text, $excerpt){ if ($excerpt) return $excerpt; $text = strip_shortcodes( $text ); $text = apply_filters("the_content", $text); $text = str_replace("]]>", "]]>", $text); $text = strip_tags($text); $excerpt_length = apply_filters("excerpt_length", 55); $excerpt_more = apply_filters("excerpt_more", " " . "[...]"); $words = preg_split("/[\n ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY); if ( count($words) > $excerpt_length ) { array_pop($words); $text = implode(" ", $words); $text = $text . $excerpt_more; } else { $text = implode(" ", $words); } return apply_filters("wp_trim_excerpt", $text, $raw_excerpt); } 

Megjegyzések

  • Hogyan hozzáadta, és pontosan mit tesz annak érdekében, hogy proaktív módon értesítse erről a Facebokot?
  • Van egy olyan funkcióm, amely a fejlécembe írja, ha az is_post (). ' Szerkesztem a bejegyzésemet, és hozzáadom a metaadatok mintadarabját.

Válasz

Először is, ez nem a WordPress specifikus kérdése, hanem a Facebook kérdése.

Másodszor, a Facebook gyorsítótárazó oldalakat nem feltérképezi minden beküldéskor. Ha van Az URL, amelyet korábban már elküldtek a Facebookra, akkor már egyszer feltérképezték az OG adatokért, és elmentették a gyorsítótárukba. Ha később megváltoztatja az OG adatokat, akkor “nem veszik észre azonnal, mert” újra a gyorsítótárukból, nem pedig az oldalról húzza ki.

A Facebook hibakereső arra kényszeríti a robotját, hogy valós időben húzódjon ki az oldalról, és ezzel frissítse a gyorsítótárát.

Ez egyszerű Ha az URL-t korábban már feltették a Facebookra, akkor az OG-adatok megváltoztatása nem lép hatályba azonnal. Néhány hétbe telik, mire az FB észreveszi. A hibakereső használata ezt felülírja.

Megjegyzések

  • Köszönöm, én ' kivárom. Ezt a kérdést azért tettem fel a WordPressbe, mert arra gondoltam, hogy a Facebook API kéréseinek kezelésére a háttérben a WordPress környezetben van-e a legjobb módszer, mondván, hogy a véleményed teljesen korrekt és A válasznak van értelme. Köszönöm.

Válasz

Ugyanez volt a problémám. Amit el kell mondania Facebook a tartalom újbóli kaparására.

Lépjen erre a linkre: https://developers.facebook.com/tools/debug/sharing/ és dugja be URL-jét. Miután a hibakereső visszatért, látnia kell egy gombot, amely azt írja, hogy “újra kaparás”. Kattintson rá.

Miután ezt megtettem, az információk a szokásos módon jelentek meg a Facebookon.

Biztos vagyok benne, hogy közvetlenebb módon meg lehet mondani a Facebooknak, hogy újból kaparja el a tartalmát, de ez is működik.

Megjegyzések

  • Szép! Ez a lehetőség valójában nem volt ' ott az eredeti Facebook URL-ben, amikor feltettem a kérdést. Jó tudni ' s most ott.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük