Changing the author permalink structure in WordPress involves modifying the slug that appears in the URL of an author’s archive page. By default, WordPress uses an author
base in the URL (e.g., yourwebsite.com/author/username
). If you want to change this to something else, such as profile
or writer
, you can do so by adding code to your theme’s functions.php
file or by creating a simple plugin. Here’s how to do it through the functions.php
file:
Step 1: Access Your Theme’s functions.php
File
- Access your WordPress site’s files using an FTP client or through the File Manager in your hosting control panel.
- Navigate to
wp-content/themes/your-active-theme/
. - Locate the
functions.php
file and edit it. It’s advisable to back up this file before making changes.
Step 2: Add Code to Change the Author Permalink Structure
Copy and paste the following code at the end of your functions.php
file. This example changes the author base to profile
:
Step 3: Refresh Permalinks
After adding the code:
- Go to your WordPress dashboard.
- Navigate to Settings > Permalinks.
- Simply click Save Changes without making any changes. This action will flush the rewrite rules and apply your changes.
Additional Notes:
- Backup First: Always back up your site before making changes to core files or adding custom code.
- Child Theme: Consider adding this code to a child theme’s
functions.php
file. Direct changes to a parent theme can be overwritten with theme updates. - Custom Plugin: If you’re uncomfortable modifying theme files or want to keep your changes theme-independent, consider creating a simple custom plugin to insert this code.
Test Your Changes
After following these steps, test the new URL structure by visiting an author’s archive page on your site. The URL should now reflect the new slug you’ve set.
Changing the author permalink structure can help with branding, SEO, or personal preference for URL layouts. However, be cautious with changes on established sites, as modifying URLs can impact SEO rankings and user experience if not properly redirected.
The provided code snippet is designed to change the default author URL slug in WordPress. Let's break it down line by line: function custom_change_author_base() { Line 1: This line begins the declaration of a new function named custom_change_author_base(). Functions in PHP are blocks of code that can be executed repeatedly from anywhere in the script after they are defined. global $wp_rewrite; Line 2: This line declares the $wp_rewrite variable as global, allowing the function to access the WordPress rewrite system that handles URL structures. The $wp_rewrite is an instance of the WP_Rewrite class, which provides methods and properties for managing rewrite rules and permalink structures in WordPress. $author_slug = 'profile'; // The new slug you want to use Line 3: A new variable $author_slug is defined and set to 'profile'. This string value represents the new base slug that will replace the default author base in the author page URLs. You can change 'profile' to any other string you prefer. $wp_rewrite->author_base = $author_slug; Line 4: This line assigns the value of $author_slug to the author_base property of the $wp_rewrite object. By doing this, it changes the base slug for all author URLs to the value specified in $author_slug. } Line 5: This line marks the end of the custom_change_author_base function. The closing brace } signifies that the function's definition is complete. add_action('init', 'custom_change_author_base'); Line 6: This line uses WordPress's add_action function to hook the custom_change_author_base function to the init action. The init action is triggered after WordPress has finished loading but before any headers are sent. By hooking into this action, the custom_change_author_base function is called early in the WordPress initialization process, ensuring that the custom author base is set before URLs are generated. In summary, this code snippet defines a function that changes the default slug for author pages from author to a custom value (profile in this example). It then hooks this function into WordPress's initialization process, ensuring that the change is applied to all author URLs site-wide.