There are occasions when you need to do something programmatically, i.e., through a little function, rather then by clicking on a button in WordPress. Such was the case when I needed to re-assign an author to massive amount of posts. There were just too many posts to do it manually from the backend of WordPress, so I had to accomplish this through a little piece of code.
Every WordPress post has a permalink by default. The permalink is displayed, as expected, by the
the_permalink() function. In some cases, we might need to enforce another URL to a post as its permalink, be it another link within the site or an external URL. We can provide the custom URL through a custom field that we will conveniently name
WordPress comes with this built-in API that allows us to hook custom functionality into the rest of WordPress. We can provide that extra functionality through plugins or themes. These are called hooks and they are either actions or filters. Actions allow us to run custom functions at a certain points of a request, while filters allow us to process and change data at these certain points.
The gist of the difference between actions and filters is:
Actions modify functionality; filters modify data.
The post slug is the part of the URL of a post or page at the last section. E.g.:
There are two ways to get the slug in WordPress inside the loop. The first way is to access the
$post object that is available inside the loop.
$slug = $post->post_name;
The second way is to pass the whole permalink to the
basename function, which will automatically process the URL and give us only the slug.
$slug = basename(get_permalink());