カスタム投稿タイプを作成しましたが、固定リンクを付けたくありません。デフォルトでは、役職を入力すると、パーマリンクが作成されます。それらは生成されません。
私の読書から、それはカスタム投稿タイプは、パーマリンクを持つことになると言われ、それを無効にする方法はありません。パーマリンクを受け取るajax呼び出しを防ぐことができる方法はありますか。
<?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;
}
これは削除します:
パーマリンクのみを削除したい場合は、preg_replace
を含む行を次のように置き換えます。
$out = preg_replace('~<span id="sample-permalink".*</span>~Ui', '', $in);
get_sample_permalink_html
はバージョン4.4で変更されました。
これが更新されテストされたコードです。
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;
}
受け入れられた答えはパーマリンクを表示から隠すだけですが、それでも生成されてアクセス可能であるように見えますが、特定のregister_post_types
パラメータを設定することによってパーマリンクを表示からアクセス不可能にすることができます。
私は以下を設定するだけで私が必要としたことを達成しました、しかしあなたの特定のケースに応じて、あなたは 他のパラメータ のいくつかを調整したいかもしれません。
'public' => false,
'show_ui' => true