I have created a custom post type, but I do not want it to have a permalink. By default, after entering the post title, it creates a permalink. I do not need them to be generated.
From my reading, it is said that custom post type will have a permalink and there is no way of disabling it. Is there a way that I can prevent the ajax call that receives the permalink?
3 s
<?php
add_filter('get_sample_permalink_html', 'my_hide_permalinks');
function my_hide_permalinks($in){
global $post;
if($post->post_type == 'my_post_type')
$out = preg_replace('~<div id="edit-slug-box".*</div>~Ui', '', $in);
return $out;
}
This will remove:
- Permalink itself
- View Post button
- Get Shortlink button
If you want to remove permalink only, replace the line containing preg_replace
with
$out = preg_replace('~<span id="sample-permalink".*</span>~Ui', '', $in);
UPDATE:
get_sample_permalink_html
has changed in version 4.4.
Here is the updated and tested code:
add_filter('get_sample_permalink_html', 'my_hide_permalinks', 10, 5);
function my_hide_permalinks($return, $post_id, $new_title, $new_slug, $post)
{
if($post->post_type == 'my_post_type') {
return '';
}
return $return;
}