soma 63 ارسال شده در تیر 98 گزارش بازنشر ارسال شده در تیر 98 سلام لینک نویسنده در وردپرس با نام کاربریش هست مثل : mysite.com//author/username/ چطور میشه این لینک رو تغییر داد و مثلا با nik_name نویسنده نمایش داده بشه ؟ به این دلیل میپرسم که اگه سایتی تعداد نویسنده های زیادی داشته باشه ، خب نام کاربریشون وقتی تو لینک باشه خیلی امن نیست لطفا راهنمایی کنید دوستان نقل قول لینک به ارسال
cherry 390 ارسال شده در تیر 98 گزارش بازنشر ارسال شده در تیر 98 در 13 دقیقه قبل، soma گفته است : سلام لینک نویسنده در وردپرس با نام کاربریش هست مثل : mysite.com//author/username/ چطور میشه این لینک رو تغییر داد و مثلا با nik_name نویسنده نمایش داده بشه ؟ به این دلیل میپرسم که اگه سایتی تعداد نویسنده های زیادی داشته باشه ، خب نام کاربریشون وقتی تو لینک باشه خیلی امن نیست لطفا راهنمایی کنید دوستان سلام این کد هارو بزار تو فایل functions.php قالب فعال سایت ( بک آپ فراموش نشه ) add_filter( 'request', 'wp_author_page_request' ); function wp_author_page_request( $query_vars ) { if ( array_key_exists( 'author_name', $query_vars ) ) { global $wpdb; $author_id = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key='nickname' AND meta_value = %s", $query_vars['author_name'] ) ); if ( $author_id ) { $query_vars['author'] = $author_id; unset( $query_vars['author_name'] ); } } return $query_vars; } add_filter( 'author_link', 'wp_author_link_filter', 10, 3 ); function wp_author_link_filter( $link, $author_id, $author_nicename ) { $author_nickname = get_user_meta( $author_id, 'nickname', true ); if ( $author_nickname ) { $link = str_replace( $author_nicename, $author_nickname, $link ); } return $link; } add_action( 'user_profile_update_errors', 'wp_set_username_to_nickname', 10, 3 ); function wp_set_username_to_nickname( &$errors, $update, &$user ) { if ( ! empty( $user->nickname ) ) { $user->user_nicename = sanitize_title( $user->nickname, $user->display_name ); } } نتیجه تست رو اطلاع بدین 1 نقل قول لینک به ارسال
soma 63 ارسال شده در تیر 98 مالک گزارش بازنشر ارسال شده در تیر 98 ممنونم که خیلی سریع پاسخ دادید روی لوکال تست کردم ، کلا آدرس رو به localhost/mysite/author تبدیل میکنه و صفحه 404 بالا میاد ( درواقع کلا user_login رو حذف میکنه و موقع str_replace نام نمایشی رو جایگزین نمیکنه ) نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .