هذه الدالة تقوم بالعملية تلقائيا دون الحاجة الى لزيارة اداة فيسبوك لتنقيح. هذه العملية تتطلب منك فقط تحديث الموضوع هذا بالنسبة للمواضيع القديمة لكن عندما ستقوم بنشر موضوع جديد فستتم العملية مباشرة بعد النشر
الدالة يتم لصقها في ملف functions.php او functions-custom.php
/*
* Function Description : Facebook Scrape
* Author Name : Mouad Achemli
* Source : https://www.mwordpress.net/force-facebook-to-update-post-thumbnail-automatically/
* Inspered from : https://stackoverflow.com/a/32916433/2535061
* @website : https://www.mwordpress.net/
*
*/
function scrape_open_graph($post) {
global $pagenow;
global $post;
// Flush W3 Total Cache
if (function_exists('w3tc_pgcache_flush_post')) :
w3tc_pgcache_flush_post($post->ID);
endif;
// Flush WP Super Cache
if (function_exists('wp_cache_post_change')) :
wp_cache_post_change($post->ID);
endif;
// get key
$check_key = get_post_meta($post->ID, 'opengraph-is-update' , true);
if (!empty($check_key)) {
// Nothing to do
} else {
// add meta key value for next check
add_post_meta($post->ID, 'opengraph-is-update', 'yes', true );
// Facebook scrape
$url = 'https://graph.facebook.com';
$param = array(
'id' => get_permalink( $post->ID ),
'scrape' => 'true',
'method' => 'post'
);
wp_remote_get(add_query_arg( $param, $url ));
}
}
add_action('publish_post', 'scrape_open_graph');
add_action('save_post', 'scrape_open_graph');
عندما ستقوم بتحديث المقالة من صفحة التحرير ستجد انه تم اضافة حقل باسم ‘opengraph-is-update’ بالشكل التالي :
اذا قمت بتغيير الصورة البارزة للمقالة وتريد ان يتم استعمالها من طرف فيسبوك قم بحذف الحقل المشار اليه في الصورة اعلاه
والسلام عليكم ورحمة الله وبركاته