• حل شده stellaa

    (@stellaa)


    سلام
    من با این کد نقش کاربری رو در کنار نام تو قسمت نظرات سایتم قرار دادم اما مشکل اینه میخوام نام نمایشی دلخواه به فارسی قرا بگیره
    مثلا administrator رو به فارسی ” مدیر ” نشون بده

    /** Add User Role to Comments. */
    if ( ! class_exists( 'Comment_Author_Role_Label' ) ) :
    class Comment_Author_Role_Label {
    public function __construct() {
    add_filter( 'get_comment_author', array( $this, 'get_comment_author_role' ), 10, 3 );
    add_filter( 'get_comment_author_link', array( $this, 'comment_author_role' ) );
    }
    function get_comment_author_role($author, $comment_id, $comment) {
    $authoremail = get_comment_author_email( $comment);
    if (email_exists($authoremail)) {
    $commet_user_role = get_user_by( 'email', $authoremail );
    $comment_user_role = $commet_user_role->roles[0];
    $this->comment_user_role = ' ' . ucfirst($comment_user_role) . '';
    } else {
    $this->comment_user_role = '';
    }
    return $author;
    }
    function comment_author_role($author) {
    return $author .= $this->comment_user_role;
    }
    }
    new Comment_Author_Role_Label;
    endif;

در حال نمایش 14 پاسخ ( از کل 14)
  • سلام و درود خدمت‌تون 🙂

    روش‌های مختلفی وجود داره، یکی از روش‌ها این هستش که کد زیر رو مورد استفاده قرار بدید.

    function change_role_name() {
    global $wp_roles;

    if ( ! isset( $wp_roles ) )
    $wp_roles = new WP_Roles();

    //You can list all currently available roles like this...
    //$roles = $wp_roles->get_names();
    //print_r($roles);

    //You can replace "administrator" with any other role "editor", "author", "contributor" or "subscriber"...
    $wp_roles->roles['administrator']['name'] = 'Owner';
    $wp_roles->role_names['administrator'] = 'Owner';
    }
    add_action('init', 'change_role_name');
    آغازکننده موضوع stellaa

    (@stellaa)

    درود
    ممنونم از راهنماییتون
    این کد رو در فانکشن قرار دادم اما متاسفانه تغییر نکرد

    ارادتمندم.

    اگر که دقیقاً همین کد رو کپی و جای‌گذاری کرده باشین، طبیعیه!

    لطفاً به توضیحات (کامنت‌های) این قطعه کد توجه کنید، درنهایت رشته‌ی مورد نظر رو برای نقش‌های کاربری مختلف، تعیین بفرمائید.

    مدیر Asadiyan

    (@asadiy4n)

    سلام وقت بخیر @stellaa

    از چه قالبی استفاده می کنید که بتونم کدهاش رو بررسی کنم؟ کامنت ها با افزونه سفارشی سازی شدن یا پیشفرض قالب هستن؟

    آغازکننده موضوع stellaa

    (@stellaa)

    درود
    از قالب آسترا استفاده میکنم
    نه کامنت ها سفارشی سازی نشدن

    درودی دوباره.

    طبیعتاٌ کد زیر یکی از روش‌های رسیدن به خواستۀ شماست.

    add_filter('gettext', 'isaeedam_ir_change_text', 20);
    function isaeedam_ir_change_text( $translated_test ){
    if ( $translated_test == 'Administrator' ){
    $translated_test = 'مدیر';
    }
    if ( $translated_test == 'Editor' ){
    $translated_test = 'ویرایشگر';
    }
    return $translated_test;
    }

    برای دو نقش کاربری مثال زدم، می‌تونید با همین روند برای موارد دیگه اعمال بفرمائید.

    مانا باشید 🙂

    آغازکننده موضوع stellaa

    (@stellaa)

    درود
    امتحان کردم بازم نشد متاسفانه

    این کدها بایستی به‌شکل صحیح در فایل functions.php قالب فعال‌تون قرار بگیرن.

    شخصی پیام بذارید، کارتون رو راه بندازم.

    آغازکننده موضوع stellaa

    (@stellaa)

    تو یه فروم یه آقای خارجی این کد رو معرفی کرد و مشکل حل شد فقط موضوعی که هست میخوام به نام نمایشی که اینجا Admin است استایل بدم مثل عکس زیر :

    /** Add User Role to Comments. */
    if ( ! class_exists( 'Comment_Author_Role_Label' ) ) :
    class Comment_Author_Role_Label {

    public function __construct() {
    add_filter( 'get_comment_author', array( $this, 'get_comment_author_role' ), 10, 3 );
    add_filter( 'get_comment_author_link', array( $this, 'comment_author_role' ) );
    }

    function get_comment_author_role($author, $comment_id, $comment) {
    $authoremail = get_comment_author_email( $comment );

    if (email_exists($authoremail)) {
    $comment_user = get_user_by( 'email', $authoremail );
    $comment_user_role = $comment_user->roles[0];

    switch ($comment_user_role) {
    case 'administrator':
    $this->comment_user_role = ' Admin';
    break;
    default:
    $this->comment_user_role = ' ' . ucfirst($comment_user_role);
    break;
    }
    } else {
    $this->comment_user_role = '';
    }

    return $author;
    }

    function comment_author_role($author) {
    return $author .= $this->comment_user_role;
    }

    }

    new Comment_Author_Role_Label;
    endif;

    خیلی هم عالی.

    لینک برگه‌ی مربوطه رو ارسال بفرمائید، کد CSS رو می‌نویسم و می‌تونید راحت کپی و از پیشخوان در بخش نمایشسفارشی‌سازیCSSهای سفارشی، جای‌گذاری (Paste) کنید.

    آغازکننده موضوع stellaa

    (@stellaa)

    لینک برگه ؟ متوجه نشدم

    توی سایت خودتون، صفحه‌ای که این دیدگاه‌ها وجود داره رو لینک آنلاینش رو برام ارسال کنید.

    آغازکننده موضوع stellaa

    (@stellaa)

    این کدش است ، چیجوری میتونم استایل بدم؟

    <header class="ast-comment-meta ast-row ast-comment-author vcard capitalize">
    <div class="ast-comment-cite-wrap">
    <cite><b class="fn">
    <a href="https://stella.blog" class="url" rel="ugc">استلا </a> مدیر سایت </b> <span class="ast-highlight-text ast-cmt-post-author"></span>
    </cite></div>

    اگر همین کدها باشن، استایل‌های زیر رو می‌تونید اعمال بفرمائید.

    .ast-comment-cite-wrap {
    padding: 5px;
    font-size: 14px;
    border-radius: 7px;
    }
    .ast-comment-cite-wrap .url {
    background-color:#efefef;
    }
در حال نمایش 14 پاسخ ( از کل 14)