اضافه کردن شماره موبایل به دیدگاه در وردپرس | آموزش اضافه کردن فیلد شماره موبایل برای کامنت وردپرس

اضافه کردن فیلد شماره موبایل به دیدگاه ها در وردپرس

برای اضافه کردن فیلد شماره موبایل به کامنت ها در وردپرس باید ابتدا وارد هاست خود شوید، سپس در پوشه wp-content یک پوشه بنام mu-plugins ایجاد نمایید، در نام گذاری این پوشه دقت داشته باشید که باید دقیقاً به همین صورت mu-plugins باشد.

سپس یک فایل php با نام دلخواه و ترجیهاً نام numcomment.php ایجاد کرده و کد زیر را در آن بصورت کامل قرار دهید.

 

<?php defined( 'ABSPATH' ) OR die( 'This script cannot be accessed directly.' );

add_filter( 'comment_form_defaults', function ( $default ) {

if ( ! isset( $default['fields'] ) ) {

return $default;

}

$phone_number_field =

'<p class="comment-form-author">

<label for="phone_number">شماره تماس<span class="required" aria-hidden="true">*</span></label>

<input id="phone_number" name="phone_number" type="text" value="" size="30" maxlength="245" placeholder="09120000000" required />

</p>';

// We want the field position after the email

$my_filed_set = false;

foreach ( $default['fields'] as $key => $value ) {

$fields[ $key ] = $value;

if ( $key === 'email' ) {

$fields['phone_number'] = $phone_number_field;

$my_filed_set = true;

}

}

// when email field lost

if ( $my_filed_set === false ) {

$fields['phone_number'] = $phone_number_field;

}

$default['fields'] = $fields;

return $default;

} );

add_filter( 'preprocess_comment', 'verify_comment_meta_data' );

function verify_comment_meta_data( $commentdata ) {

if ( ! isset( $_POST['phone_number'] ) ) {

add_filter( 'wp_is_comment_flood', '__return_true', 999 );

add_filter( 'comment_flood_message', function () {

return 'شماره موبایل وارد نشده است.';

}, 999 );

}

if ( ! preg_match( '/^(\+98|0098|98|0|\+980)?9\d{9}$/', $_POST['phone_number'] ) ) {

add_filter( 'wp_is_comment_flood', '__return_true', 999 );

add_filter( 'comment_flood_message', function () {

return 'شماره موبایل ارسالی صحیح نمی باشد';

}, 999 );

}

return $commentdata;

}

add_action( 'comment_post', function ( $comment_id ) {

echo update_comment_meta( $comment_id, 'phone_number', esc_html( sanitize_text_field( $_POST['phone_number'] ) ), true );

} );

add_filter( 'manage_edit-comments_columns', function ( $col ) {

$col['phone_number'] = 'شماره موبایل';

return $col;

}, 999 );

add_filter( 'manage_comments_custom_column', function ( $column, $comment_ID ) {

if ( 'phone_number' == $column ) {

echo esc_html( get_comment_meta( $comment_ID, 'phone_number', true ) );

}

}, 10, 2 );

add_filter( 'us_comment_form_fields', function ( $default ) {

$phone_number_field = [

'type' => 'text',

'name' => 'phone_number',

'placeholder' => '09120000000',

'required' => true,

];

// We want the field position after the email

$my_filed_set = false;

foreach ( $default as $key => $value ) {

$fields[ $key ] = $value;

if ( $key === 'email' ) {

$fields['phone_number'] = $phone_number_field;

$my_filed_set = true;

}

}

// when email field lost

if ( $my_filed_set === false ) {

$fields['phone_number'] = $phone_number_field;

}

$default = $fields;

return $default;

}, 999 );

 

اکنون بخش دیدگاه های خود را بررسی نمایید.

نوشتهٔ پیشین
حذف شدن ریسپانسیو از ستون زفایر ایمپرزا | فعال کردن ریسپانسیو در ستون قالب
نوشتهٔ بعدی
ویرایش کلمه داغ در قالب وودمارت

محصولاتی که شاید دوست داشته باشید :

اشتراک گذاری این صفحه در شبکه های اجتماعی

فهرست