0

Supposed I have these urls: http://my-domain.tld/projects-listing-cpt and http://my-domain.tld/musics-listing-cpt.

The custom post types was setted this way:

Projects:

Text Domain: projets
$args = [
  ...
  'rewrite'            => array( 'slug' => 'projects-listing-cpt' ),
  'capability_type'    => 'project'
]

Musics:

Text Domain: musics
$args = [
  ...
  'rewrite'            => array( 'slug' => 'musics-listing-cpt' ),
  'capability_type'    => 'music'
]

How can I check the rewrite slug of current post type listing page to get something like this:

if( funct_to_get_this_slug('projects-listing-cpt') == 'projects-listing-cpt' ) //show specific things for this custom post type
  • 1
    So you know the post type and simply want to retrieve its rewrite slug? – Sally CJ Oct 1 at 21:45
  • Yes. How can I do that? – hailton Oct 1 at 22:44
  • 1
    Whats the actual problem here? Do you need the rewrite slug, or do you just need to know which post type is being viewed? They're different problems, and the solution for the latter will not involve the rewrite slug. – Jacob Peattie Oct 2 at 1:00
  • Found the solution (It's bellow). The thing is that I've no experience in wordpress development because I use to work with laravel and I'm used to approach this in a different way. Thank you both! – hailton Oct 2 at 1:27
0

Looking to the problem from a different perspective, I've reached to a different solution to it.

I've created a function to check the post type instead of checking the slug of the post type. Actually I was trying to assign different CSS Class to each post type

add_action( 'css_class_per_post_type', 'assign_css_class_to_each_post_type' ); // to be called in the place I want the class name to be displayed (I am using timber as the template engine)

function assign_css_class_to_each_post_type( $context ) {

    $post_type = get_post_type($wp_query->post->ID);
    $cssClass = ''; // if no post type, no class is added

    if ($post_type == 'project') {
        $cssClass = 'projects-listing-cpt';
    } 

    if ($post_type == 'music') {
        $cssClass = 'musics-listing-cpt';
    }

    echo $cssClass;

}

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.