سؤال

أقوم بتطوير مكون إضافي مخصص في PHP بحيث لا يمكن استخدام المكونات الإضافية الموجودة. ما أريد تحقيقه هو أنني أريد عرض عنوان URL مختلف داخل منشور لبعض المستخدمين. بالنسبة للمستخدمين المسجلين في WordPress ، اتصل بي و "معتمد". أرغب في إعداد حقل ملف تعريف المستخدم الإضافي هذا حتى أتمكن من استخدام هذا الحقل في حالة ما. لذا فإن الضيوف والمستخدمين الذين لا يحملون هذا الحقل أو بدون القيمة الصحيحة في هذا الحقل سيحصلون على url1 ولكن URL2 الأخرى.

المتطلبات

  • فقط المستخدمين الذين لديهم دور المسؤول
  • يمكن إنشاء/تحرير حقل ملف تعريف مستخدم إضافي
  • لجميع المستخدمين الآخرين

أعرف كيف يمكنني إضافة حقل ملف تعريف مستخدم إضافي في WordPress (انظر الروابط أدناه) ، لكنني لا أعرف كيفية تقييد تحرير هذا الحقل للمستخدمين في دور معين وكيف يمكن للمستخدم مع دور المسؤول إنشاء/تحرير هذا المقدم جميع المستخدمين. يبدو لي أنه يتعين علي إضافة رمز جديد ضمن لوحة معلومات WordPress/المستخدمين/المستخدم و/أو لوحة القيادة/المستخدمين/المؤلفين والمستخدمين.

قمت ببعض بحث Google ووجدت بعض المواقع حول كيفية إضافة حقل ملف تعريف مستخدم إضافي

يبدو لي أن إضافة واستخدام حقول ملف تعريف المستخدم المخصص هو ما أريد أن أفعله تقريبًا ، لكنني ما زلت لا أعرف كيفية إدارة "المسؤول الوحيد" يمكنه القيام بذلك.

هل كانت مفيدة؟

المحلول

وماذا عن هذا:

$ID="2";
$user = new WP_User($ID);
if ($user->wp_capabilities['administrator']==1) {
    //code here
}

انظر هذا الرابط عن قدرات المستخدم لـ WordPress

لذلك مع ما سبق ، وهذا الرابط الذي قدمته ، ربما شيء من هذا القبيل:

function my_show_extra_profile_fields( $user ) {
    if ($user->wp_capabilities['administrator']!=1) {
        return false;
    } ?>
    <h3>Extra profile information</h3>

    <table class="form-table">

        <tr>
            <th><label for="twitter">Twitter</label></th>

            <td>
                <input type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( 'twitter', $user->ID ) ); ?>" class="regular-text" /><br />
                <span class="description">Please enter your Twitter username.</span>
            </td>
        </tr>

    </table>
<?php }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top