همانطور که می‌دانید آدرس پیش‌فرض کاربران در وردپرس با /author/ شناخته می‌شود و پس از author نام کاربری کاربر قرار می‌گیرد. در واقع در این برگه، تمامی نوشته‌هایی که توسط کاربر در سایت منتشر شده، نمایش داده می‌شود. در این نوشته قصد داریم تا نحوه تغییر پیوند یکتای نویسنده در وردپرس را به شما آموزش دهیم.

ما در این آموزش قصد داریم آدرس نویسنده را از /author/tidaweb به /users/36 تغییر دهیم . سه گام زیر باید انجام شود تا آدرس نویسنده در وردپرس تغییر پیدا کند. این سه گام در قالب سه هوک برنامه نویسی شده است.

  • تغییر آدرس base از /author/tidaweb به /users/36 با استفاده از اکشن init
  • اضافه کردن آدرس کوئری users به وردپرس با استفاده از فیلتر query_vars
  • اضافه کردن قانون rewrite به وردپرس با استفاده از فیلتر generate_rewrite_rules

نکته: برای اجرای این کد، می‌توانید آن را در فایل functions.php پوسته فرزند قرار دهید یا از افزونه Code Snippets استفاده نمایید.

قطعه کد زیر، آدرس base نویسنده (author) در وردپرس را به users تبدیل خواهد کرد.

/**
 * @snippet       Change author/username base to users/userID
 * @author        Tidaweb
 * @compatible    WordPress All Versions
 */

add_action('init','change_author_permalinks');

function change_author_permalinks() {
    global $wp_rewrite;
    // Change the value of the author permalink base to whatever you want here
    $wp_rewrite->author_base = 'users';
    $wp_rewrite->flush_rules();
}

قطعه کد دوّم، کوئری‌های users را مجموعه کوئری‌های وردپرس (query_vars) اضافه خواهد کرد.

/**
 * @snippet       Add users to query_vars
 * @author        Tidaweb
 * @compatible    WordPress All Versions
 */

add_filter('query_vars', 'users_query_vars');

function users_query_vars($vars) {
    // add lid to the valid list of variables
    $new_vars = array('users');
    $vars = $new_vars + $vars;
    return $vars;
}

قطعه کد سوّم، یک rewrite جدید به مجموعه rewrite های وردپرس اضافه می‌کند. این rewrite ادرس /users/36 را تحلیل کرده و به آدرس اصلی نویسنده ارجاع می‌دهد.

/**
 * @snippet       Add users rewrite
 * @author        Tidaweb
 * @compatible    WordPress All Versions
 */

add_filter('generate_rewrite_rules','user_rewrite_rules');

function user_rewrite_rules( $wp_rewrite ) {
    $newrules = array();
    $new_rules['users/(\d*)$'] = 'index.php?author=$matches[1]';
    $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}

در مقاله بالا ترفند تغییر پیوند یکتای نویسنده در وردپرس آموزش داده شد. در صورتی که سؤالی در این زمینه دارید، می‌توانید آن را از بخش دیدگاه‌ها با ما در میان بگذارید. همچنین اگر به دنبال ترفندهای بیشتر هستید، به ترفند وردپرس مراجعه کنید.

دریافت اطلاعات محصول در ووکامرس

منبع : WordPress Development Stack Exchange

۴.۷/۵ - (۱۱۹ امتیاز)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *