أنا لست من محبي إضافة Jetpack، لا أستعملها ولا أنصح باستعمالها لِأسباب عدة، رغم ذلك عليّ الاعتراف بأنّ بعضًا من وحدات هذه الإضافة جيدة، كوحدة “النشر العام” على سبيل المثال، فهذه الوحدة تُمكنك من نشر المقالات تلقائيا في ست شبكات اجتماعية. حسب وجهة نظري هذه الوحدة هي من أفضل وحدات Jetpack، بحيث توفر لك نطام نشر تلقائي للمواضيع في الشبكات الإجتماعية بشكل قوي جدا، ولكن ينقص هذه الوحدة شيء مهم وهو إمكانية إضافة هاشتاك (Hashtags) تلقائيا. أعرف أنه بالإمكان إضافة هاشتاك يدويا بالحقل المخصص للنشر كما هو ظاهر في الصورة، ولكن ليس هذا هو ما أقصده في هذه التدوينة
ما أقصده هو أن يكون العمل كله تلقائيا دون تخصيص أو إضافة أي شيء يدوي، لأجل تحقيق هذا فالخيار الأمثل هو استعمال وسوم المقالة كهاشتاك. للحصول على ذلك فقط عليك إضافة هذا الكود لملف functions.php
للقالب المفعل أو لإضافتك المخصصة.
// If Jetpack is not installed or Publicize module isn't active, just exit now.
if ( ! class_exists('Jetpack') || ! Jetpack::is_module_active('publicize') ) {
return;
}
function sb_publicize_hashtags() {
$post = get_post();
if ( ! empty( $post ) ) {
// Grab the tags of the post
$post_tags = get_the_tags( $post->ID );
// Append tags to custom message
if ( ! empty( $post_tags ) ) {
// Create list of tags with hashtags in front of them
$hash_tags = '';
foreach( $post_tags as $tag ) {
$hash_tags .= ' #' . $tag->name;
}
// Create our custom message
$custom_message = get_the_title() . ' ' . $hash_tags;
update_post_meta( $post->ID, '_wpas_mess', $custom_message );
}
}
}
// Save that message
function sb_cust_pub_message_save() {
add_action( 'save_post', 'sb_publicize_hashtags' );
}
add_action( 'publish_post', 'sb_cust_pub_message_save' );
أول شيء يقوم به هذا الكود هو تخزين وسوم المقالة في المتغيِّر $pos_tags
، ثمّ بعد ذلك يتحقق من وجود الوسوم في المقالة أي أن المتغيِّر $pos_tags
ليس فارغا، بعد ذلك يتمّ إنشاء قائمة من الهاشتاك ثم إنشاء رسالة مخصصة تحتوي على عنوان المقالة و الهاشتاك.
أرجو أن تكون قد استفدت من الموضوع 🙂