it-swarm.asia

بحاجة إلى نصيحة> تحويل تعيينات الفئة إلى قيم تعريف منشورة مخصصة

قبل أن أتعرف على القدرة على إضافة مربع تعريف (مع التحديدات التعريفية للنشر المخصص) إلى الصفحة ومحرر النشر ، كنت (وما زلت على درجة) باستخدام الفئات لتحديد التعريف المنشور المخصص.

على سبيل المثال ، لإنشاء منشور nofollow أو noindex ، قمت بإنشاء فئة تسمى nofollow وفئة أخرى تسمى noindex وقمت بتعيين واحدة من هاتين الفئتين أو أحدهما في منشور أو صفحة.

بعد ذلك في ملف header.php ، أقوم بإجراء اختبار in_category من أجل كتابة العلامات الوصفية المناسبة على الصفحة.

مثال:

<?php
if (in_category('noindex') && in_category('nofollow')){?>
<meta name="robots" content="noindex, nofollow">
<?php}?>

لدي أيضًا فئات مخصصة لأشياء مثل "تعطيل Adsense لهذه الصفحة" ، "عدم إظهار مرفقات الصور لهذه الصفحة" ، "إخفاء هذه الصفحة من القوائم" ، إلخ ...

والآن بعد أن قررت الابتعاد عن استخدام الفئات التي يجب أن أستخدم فيها ملف تعريف النشر المخصص ، يصبح الرمز أعلاه في header.php ...

<?php 
    if (get_post_meta( $post->ID, '_noindex', true ) && get_post_meta( $post->ID, '_nofollow', true )){>?
    <meta name="robots" content="noindex, nofollow">
<?php } ?>

هذه هي خطتي ، لكن الآن لدي مشكلة ترقية المواقع التي تستخدم الوسائل القديمة لتحديد خيارات النشر المخصصة عبر تعيينات الفئة.

لذا ، أحتاج إلى توجيه يقوم بإعادة تعيين قيم الفئات إلى قيم تعريف منشورة مخصصة لكل منشور وصفحة في الموقع أقوم بالترقية.

أنا فقط أبحث عن بعض النصائح السريعة حول كيفية القيام بذلك ، وربما بعض تلميحات التعليمات البرمجية على روتين الضرورة.

نظرًا لأن هذا موضوع يمكن تحديثه ، كجزء من عملية التحديث ، أرغب في تشغيل برنامج نصي مرة واحدة ، عند تثبيت السمة لأول مرة ، (أو يقوم المستخدم بالنقر فوق أداة الترقية الخاصة بي) التي يتم تشغيلها من خلال جدول الخيارات ولكل مثيل لأحد تخصيصات الفئة المخصصة الخاصة بي ، فإنه ينشئ واجب التعريف المخصص المخصص لهذا المنشور أو الصفحة.

على سبيل المثال ، إذا كان المنشور ينتمي حاليًا إلى الفئة "المخفية" ، فسيتم تعيينه إلى ملف التعريف المنشور "_hidden".

آمل أن أكون قد أوضحت هذا جيدا بما فيه الكفاية. أنا أقدر أي أفكار يمكن أن تقدمها.

ربما يكون الأمر بسيطًا مثل سلسلة من عبارات SQL المخصصة التي يتم تشغيلها لكل مهمة فئة ممكنة؟

1
Scott B

ستكون الفكرة الأساسية هي الانتقال من خلال التدوينات وفئاتها ، وتعيين الفوقية في المباريات.

شيء من هذا القبيل (تأكد من مراجعة نسخة اختبار البيانات ، وما إلى ذلك):

$posts = get_posts( array(
    'numberposts' => -1
) );

foreach( $posts as $post ) {

    $categories = get_the_category( $post->ID );

    foreach( $categories as $category ) {

        if( 'Hidden' ==  $category->name )
            add_post_meta( $post->ID, '_hidden', 'yes', true );
    }

}

نسيت إضافة الحذف عند الانتهاء:

$category = get_category_by_slug( 'hidden' );
wp_delete_category( $category->term_id );
1
Rarst