My site uses a plugin Easy Digital Downloads, which creates products that are of url structure, sitename/downloads/{Product} I want to change them to sitename/{product}

For example, https://milyin.com/downloads/steve-jobs-reality-is-malleable/ is one of my product, i want to make it appear at https://milyin.com/steve-jobs-reality-is-malleable/

For this they provide ability to change slug define('EDD_SLUG', 'my-downloads-slug'); via php, in this use case, i could change it to something else, but not blank, the default slug is downloads and i wanted no slug, so made it blank, which didn't work.

I rather tried using htaccess, I am having trouble with that too. I tried this: RewriteRule ^downloads/(.*)$ $1

But it had no impact andmy links remained same, so please help me rewrite them


You're looking to remove a post-type slug completely from the url. This is documented in this answer. Remember that after making any changes to post urls, you should resave your permalink structure for the changes to fully take effect.

Edit: You can additionally redirect from the old location (with the slug), this way:

function na_redirect_slug_requests() {
    $post = get_queried_object();

    // If our custom-post-type
    if ( ! empty( $post->post_type ) && 'events' === $post->post_type ) {
        $url = get_permalink( $post );

        // And the custom-post's url doesn't match the one we're looking at...
        if ( false === strpos( $url, $_SERVER['REQUEST_URI'] ) ) {

            // Then let's redirect.
            wp_safe_redirect( $url, 301 );
add_action( 'template_redirect', 'na_redirect_slug_requests', 10, 50 );

Just remember to replace "events" with your custom post type slug.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.