2

I am registering a custom post type called "Products & Services". I have created a file within wp-content/themes/theme/ called archive-products&services.php but it's not using this file.

I also tried archive-products & services.php, archive-productsandservices.php but still it wont load the template.

register_post_type( 'Products & Services',
    array(
        'supports' => array('title', 'editor', 'thumbnail'),
        'labels' => array(
            'name' => __( 'Products and Services' ),
            'singular_name' => __( 'Service' )
        ),
        'public' => true,
        'has_archive' => true,
        'rewrite' => array('slug' => 'productsandservices')

    )
);

It works fine on two other custom post types called 'news' and 'products'. Is this an issue with blank spaces in the post type?

2
  • The post type name should be all lowercase with underscores. Use the labels for the human-readable name for the post type. This will be how it’s done in any example that you can find. Commented Sep 4, 2019 at 15:56
  • Thanks. The examples I found were single worded.
    – HippoDuck
    Commented Sep 4, 2019 at 16:35

3 Answers 3

1

Your problem was the & which WordPress cannot support as is. That is because & is used as part of a URL to join query vars together. Like this:

example.com/file.php?foo=bar&baz=zoo

Also, as pointed out in comments file names have to follow the naming standard. Which is clearly laid out in the documentation.

The format is archive-[slug].php

That's why when you renamed the file it started working.

0

Wordpress doesn't support special characters in post types.

However, it would be useful to point out the codex doesn't state this. All it says is (max 20 characters, cannot container capital letters, underscores or spaces)

https://codex.wordpress.org/Function_Reference/register_post_type

-1

After changing the post type to "Products and Services" it works with the file name "archive-productsandservices.php". I guess Wordpress doesn't support special characters in post types.

1
  • Not sure why the downvote. This fixed it.
    – HippoDuck
    Commented Sep 4, 2019 at 16:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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