Bird
Raised Fist0
Wordpressframework~10 mins

Permalink structure in Wordpress - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to set the permalink structure to use post name in WordPress.

Wordpress
add_action('init', function() { global $wp_rewrite; $wp_rewrite->set_permalink_structure('[1]'); });
Drag options to blanks, or click blank then click option'
A/%postname%/
B/%year%/%monthnum%/%day%/
C/archives/%post_id%
D/?p=%post_id%
Attempts:
3 left
💡 Hint
Common Mistakes
Using date-based structures when the question asks for post name.
Using query string style URLs instead of pretty permalinks.
2fill in blank
medium

Complete the code to flush rewrite rules after changing permalink structure.

Wordpress
add_action('init', function() { global $wp_rewrite; $wp_rewrite->set_permalink_structure('/%postname%/'); [1](); });
Drag options to blanks, or click blank then click option'
Aregister_post_type
Bupdate_option
Cflush_rewrite_rules
Dadd_rewrite_rule
Attempts:
3 left
💡 Hint
Common Mistakes
Not flushing rewrite rules after changing permalink structure.
Using unrelated functions like update_option.
3fill in blank
hard

Fix the error in the code to correctly set a custom permalink structure with category and post name.

Wordpress
add_action('init', function() { global $wp_rewrite; $wp_rewrite->set_permalink_structure('[1]'); flush_rewrite_rules(); });
Drag options to blanks, or click blank then click option'
A/%postname%/%category%/
B/%category%/%postname%/
C/%author%/%postname%/
D/%year%/%postname%/
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping the order of category and post name tags.
Using author or year tags when not asked.
4fill in blank
hard

Fill both blanks to create a permalink structure with year and post ID.

Wordpress
add_action('init', function() { global $wp_rewrite; $wp_rewrite->set_permalink_structure('[1][2]'); flush_rewrite_rules(); });
Drag options to blanks, or click blank then click option'
A/%year%/
B/%post_id%/
C/%postname%/
D/%monthnum%/
Attempts:
3 left
💡 Hint
Common Mistakes
Using postname instead of post ID.
Putting monthnum instead of post ID.
5fill in blank
hard

Fill all three blanks to create a permalink structure with category, year, and post name.

Wordpress
add_action('init', function() { global $wp_rewrite; $wp_rewrite->set_permalink_structure('[1][2][3]'); flush_rewrite_rules(); });
Drag options to blanks, or click blank then click option'
A/%category%/
B/%year%/
C/%postname%/
D/%author%/
Attempts:
3 left
💡 Hint
Common Mistakes
Including author tag when not asked.
Wrong order of tags.

Practice

(1/5)
1. What does the %postname% tag represent in a WordPress permalink structure?
easy
A. The date the post was published
B. The slug of the post or page
C. The category of the post
D. The author of the post

Solution

  1. Step 1: Understand the purpose of %postname%

    The %postname% tag is used to insert the post slug, which is a URL-friendly version of the post title.
  2. Step 2: Compare with other tags

    Other tags like %year% or %category% represent date or category, not the post slug.
  3. Final Answer:

    The slug of the post or page -> Option B
  4. Quick Check:

    %postname% = post slug [OK]
Hint: Remember postname means the post's URL-friendly title [OK]
Common Mistakes:
  • Confusing %postname% with %category%
  • Thinking %postname% shows the date
  • Assuming %postname% is the author name
2. Which of the following is a valid custom permalink structure in WordPress?
easy
A. /%day%/%month%/%slug%/
B. /post/%author%/%date%/
C. /%year%/%monthnum%/%postname%/
D. /%category%/%postid%/%title%/

Solution

  1. Step 1: Check valid WordPress tags

    WordPress supports tags like %year%, %monthnum%, and %postname%. /%year%/%monthnum%/%postname%/ uses only valid tags.
  2. Step 2: Identify invalid tags in other options

    Options A, B, and C use invalid tags like %date%, %title%, or %slug% which are not recognized by WordPress.
  3. Final Answer:

    /%year%/%monthnum%/%postname%/ -> Option C
  4. Quick Check:

    Valid tags only = /%year%/%monthnum%/%postname%/ [OK]
Hint: Use only official WordPress tags in permalinks [OK]
Common Mistakes:
  • Using tags like %title% or %slug% which don't exist
  • Mixing date formats incorrectly
  • Forgetting trailing slash in structure
3. Given the permalink structure /%category%/%postname%/, what would be the URL for a post titled "Summer Tips" in the "Travel" category?
medium
A. /travel/summer-tips/
B. /summer-tips/travel/
C. /category/travel/summer-tips/
D. /travel/category/summer-tips/

Solution

  1. Step 1: Understand the structure tags

    The structure /%category%/%postname%/ means the URL starts with the category slug, then the post slug.
  2. Step 2: Apply to given post and category

    Category "Travel" becomes "travel" and post "Summer Tips" becomes "summer-tips". So URL is /travel/summer-tips/.
  3. Final Answer:

    /travel/summer-tips/ -> Option A
  4. Quick Check:

    Category + postname = /travel/summer-tips/ [OK]
Hint: Category comes first, then postname in this structure [OK]
Common Mistakes:
  • Swapping category and postname order
  • Adding extra words like 'category' in URL
  • Using capital letters in URL slugs
4. A WordPress site uses the permalink structure /%year%/%postname%/. After changing it to /%postname%/, some old links show 404 errors. What is the likely cause?
medium
A. The .htaccess file was not updated to reflect the new structure
B. The post slugs were deleted accidentally
C. The site URL was changed in settings
D. The category base was not set correctly

Solution

  1. Step 1: Understand permalink changes effect

    Changing permalink structure requires updating rewrite rules in the .htaccess file for URLs to work correctly.
  2. Step 2: Identify cause of 404 errors

    If .htaccess is not updated, old URLs won't redirect properly, causing 404 errors.
  3. Final Answer:

    The .htaccess file was not updated to reflect the new structure -> Option A
  4. Quick Check:

    Rewrite rules update needed = The .htaccess file was not updated to reflect the new structure [OK]
Hint: Always update .htaccess after changing permalinks [OK]
Common Mistakes:
  • Assuming post slugs were deleted
  • Ignoring .htaccess rewrite rules
  • Confusing category base with permalink structure
5. You want your WordPress URLs to show the year, category, and post name, but avoid duplicate URLs for posts in multiple categories. Which permalink structure helps prevent duplicates?
hard
A. /%year%/%category%/%postname%/
B. /%category%/%postname%/
C. /%postname%/
D. /%year%/%postname%/

Solution

  1. Step 1: Understand duplicate URL issue

    Using %category% can cause multiple URLs if a post belongs to multiple categories.
  2. Step 2: Choose structure avoiding category

    Removing %category% from the URL avoids duplicates. Including %year% and %postname% keeps URLs informative.
  3. Final Answer:

    /%year%/%postname%/ -> Option D
  4. Quick Check:

    Exclude category to prevent duplicates = /%year%/%postname%/ [OK]
Hint: Avoid %category% in URLs to stop duplicates [OK]
Common Mistakes:
  • Including %category% causing multiple URLs
  • Using only %postname% losing date info
  • Ignoring SEO impact of URL clarity