前提・実現したいこと
初投稿になります、うまく趣旨が伝わらないかもしれませんが、よろしくお願いします。
ワードプレスの管理画面でカスタム投稿を追加しました。
新規投稿画面でタイトルを入力後にフォーカスアウト(ほかの場所に入力カーソルを合わせる)すると自動でパーマリンクが生成されます。
この新規投稿で生成されるパーマリンクを非表示にしたいです。
更新画面ではパーマリンクは非表示にできています。
該当のソースコード
add_filter( 'get_sample_permalink_html' , 'disable_parmalink' ); function disable_parmalink() { global $post if($post->post_type == 'カスタム投稿タイプ') { return false; } //$url_link = get_permalink(); //$url_str = <<<HTML //<a href="get_permalink();">$url_link</a> //HTML //return "パーマリンク:".$url_str; }
試したこと
上記のソースでは新規投稿のposts_type,post_statusがnullになっているため、
新規投稿のタイトル入力後に「1」が表示されてしまいます。
今回指定したカスタム投稿以外ではパーマリンクを表示させたいので、コメントアウトしたコードを差し込んでいますが新規投稿時はテキストで「パーマリンク」のみが出力されています。
ヒント
使えそうなフックやアプローチ方法等何でもいいので糸口になりそうな方法をご教示頂ければ幸いです。
なにとぞよろしくお願いいたします。
###追加情報
タイトルに入力後に出力される赤で囲った部分を非表示にしたいです。
イメージが伝わりにくくて申し訳ございません。
###解決方法
edit-form-advanced.phpの467行目ぐらいの <div id="edit-slug-box" class="hide-if-no-js">
から下記条件分岐を追加しました。
<div id="edit-slug-box" class="hide-if-no-js"> <?php $current_screen = get_current_screen(); if ($current_screen->post_type == "カスタム投稿タイプ") { //何も出力しない ?> <style type="text/css"> #edit-slug-box { display: none; } </style> <?php } else { echo $sample_permalink_html; } ?> </div> <?php } endif; ?> </div>
回答1件
あなたの回答
tips
プレビュー