サポート » 使い方全般 » パーマリンクを非表示にしたい

  • 解決済 bobchoko

    (@bobchoko)


    投稿の編集画面や、投稿した後の画面でパーマリンクを編集する部分が出てきます。
    この部分を非表示にしたいのですが、どのようにするのがよいのでしょうか。

    ただ、cssでdisplay:none;を使用して、見せかけ的に非表示にする、
    ということは避けたいと考えています。

    何か方法がありましたら、教えてください。

15件の返信を表示中 - 1 - 15件目 (全15件中)
  • get_sample_permalink_html
    というフィルターフックがあります。

    フックするとその部分のHTMLが取得できますので、正規表現等でその部分を置換する方法もあります。

    add_filter( 'get_sample_permalink_html' , 'not_get_sample_permalink_html' );
    function not_get_sample_permalink_html( $permalink_html ) {
    	var_dump($permalink_html);
    }

    遅くなってすいません。
    ご返信ありがとうございます。

    早速コピーして貼り付けてみたところ、
    投稿画面で投稿する前から
    “string()パーマリンク:~”というように表示されていました。
    投稿の編集画面と投稿画面で投稿した後も同じような現象が見られました。

    変更は出来なくなったので嬉しいですが、
    これを完全に見せないようにする、ということは
    不可能でしょうか

    bobchokoさん

    var_dump($permalink_html);
    これはどのようなHTMLが入るかを確かめるためのコードです。

    正規表現等でその部分を置換する方法

    $permalink_htmlに対してこちらをおこなってください。

    正規表現が分からない場合は、下記をコピペして試してみてください。

    add_filter( 'get_sample_permalink_html' , 'not_get_sample_permalink_html' );
    function not_get_sample_permalink_html( $permalink_html ) {
    	$permalink_html = preg_replace( "/<span id=\"change-permalinks\">(.*)<\/span>/" , "" , $permalink_html );
    	return $permalink_html;
    }

    コピペして試してみてください
    とおっしゃっていただいた部分を実際にコピペしてみたのですが、
    特に変化が見られませんでした。

    私自身がはっきり理解しているわけではないのですが、
    パーマリンクの非表示のためには、
    なにか他のこともやる必要があるのでしょうか。

    特に変化が見られませんでした。

    そうなんですね。
    私のほうでは、パーマリンク変更のボタンは削除されました。

    このコードで試したwordpressのバージョンは3.4.2~3.5.1までですが、bobchokoさんのwordpressのバージョンは何でしょうか?

    ※また別の方法ですが、パーマリンクをデフォルト以外の設定にすると、パーマリンク編集ボタンは表示されなくなる。という方法もあります。

    プラグインの停止など、いろいろなことをやってみたのですが、
    ダメでした。

    wordpressのバージョンは3.5.1です

    パーマリンクをデフォルト以外ということでしたので、
    変更してみましたが、特に変わりなく表示されました。

    gqevu6bsizさんが示してくださいました

    add_filter( 'get_sample_permalink_html' , 'not_get_sample_permalink_html' );
    function not_get_sample_permalink_html( $permalink_html ) {
    	$permalink_html = preg_replace( "/<span id=\"change-permalinks\">(.*)<\/span>/" , "" , $permalink_html );
    	return $permalink_html;
    }

    というコードを貼り付けてダメでした。

    他に方法などはあるのでしょうか?

    すみません、私が勘違いしていたかもしれません。

    上記のコードや方法は、「パーマリンクの変更」
    というボタンを削除するものですが、
    bobchokoさんがおっしゃているのは、「編集」というボタンの機能の事ですか?

    もしそれであれば、パーマリンク設定を「数字ベース」に変更してみてください。

    パーマリンク設定を「投稿名」でこの機能をおこなう場合は、

    add_filter( 'get_sample_permalink_html' , 'not_get_sample_permalink_html' );
    function not_get_sample_permalink_html( $permalink_html ) {
    	$permalink_html = preg_replace( "/<span id=\"editable-post-name\" title=\"(.*)\">(.*)<\/span>/" , "$2" , $permalink_html );
    	$permalink_html = preg_replace( "/<span id=\"edit-slug-buttons\">(.*)<\/span>/" , "" , $permalink_html );
    	return $permalink_html;
    }

    こちらをお試しください。

    私の説明不足で申し訳ないです。

    投稿の編集画面などに、
    「パーマリンク:~ 投稿を表示 短縮URLを取得」
    といったようにリンクとボタンが表示されると思うのですが、
    これをまるごと非表示にしたいと思っています。

    このような説明でお伝えできているでしょうか。

    パーマリンクの設定は基本的に「数字ベース」で行っています。

    あ、なるほどです。

    まるごとその部分を、パーマリンクを編集する部分 とおっしゃっていたのですね。

    であれば、

    add_filter( 'get_sample_permalink_html' , '__return_false' );
    add_filter( 'get_shortlink' , '__return_false' );

    こちらではどうでしょうか?

    モデレーター gatespace

    (@gatespace)

    念のため。
    投稿や固定ページのパーマリンクはその部分「以外」でも変更できます。

    「表示オプション」に「スラッグ」があるかどうか確認してみてください。
    隠れているかも知れませんが、チェックを入れれば表示されます。
    これまでのコードでタイトル入力欄の下を非表示にしても、「スラッグ」を変更するとパーマリンクは改変されるので、絶対改変させたくないなら「スラッグ」も対応しないとダメですよ。

    今回とは逆のパターンですが、改変できなくて困ってるという投稿があったので。
    [解決済み] 固定ページのパーマリンクの変更
    http://ja.forums.wordpress.org/topic/21094?replies=7

    gqevu6bsizさんのコードで
    思っていたように削除をすることが出来ました。

    ただ、今まで教えてくださったコードの意図が
    理解できなかったので、教えていただけると嬉しいです。

    また、gatespaceさんの内容を拝見したあと、
    「投稿オプション」に「スラッグ」というのが
    ありませんでした。
    (チェックを入れる場所もありませんでした。)

    「スラッグ」がある前提の話になるのですが、
    スラッグへの対応には、どのようなものがあるのでしょうか?

    ただ、今まで教えてくださったコードの意図が
    理解できなかったので、教えていただけると嬉しいです。

    bobuchokoさん、今までのコードの意図を理解する為の前提となりますが、

    「パーマリンク:~ 投稿を表示 短縮URLを取得

    この表示はパーマリンク設定を「数字ベース」に設定している時に表示されるもののようです。

    ※パーマリンク設定を「デフォルト」に設定すると以下のような表示になります。

    「パーマリンク:~ パーマリンクの変更 投稿を表示」

    これが前提となります。まず、私とbobchokoさんが見ているパーマリンク関係の部分の表示が違っていました。
    パーマリンクの設定を変更すると、表示されるボタンにも違いがでてくるようです。

    そして、今回と今までのコードの違いについてですが、

    • 今まで:「パーマリンク設定」が「デフォルト」の設定になっている際に表示される「パーマリンクの変更」というボタンを削除する為のコード
    • 今回:パーマリンク関係の部分を全て削除する為のコード

    パーマリンク関係の中の一部ボタンを削除したりする為のコード から、
    パーマリンク関係の全てを削除
    にコードを変更しました。
    パーマリンク関係の一部を正規表現で削除しようとしていた為、あのようなコードとなりました。

    また、gatespaceさんの内容を拝見したあと、「投稿オプション」に「スラッグ」というのがありませんでした。

    については、
    [解決済み] 固定ページのパーマリンクの変更
    http://ja.forums.wordpress.org/topic/21094?replies=7

    こちらでgatespaceさんが書いている通り、プラグインの設定で機能させないような設定になっているかもしれません。

    「スラッグ」がある前提の話になるのですが、
    スラッグへの対応には、どのようなものがあるのでしょうか?

    についてですが、スラッグを編集する部分は他に「投稿一覧」の各記事の「クイック編集」内からも変更できます。
    ※他にスラッグを編集できる部分は私は分かりません。

    スラッグへの対応という部分がどこまでをお考えなのかが具体的に分かりませんが、今回のトピックと少しずれている気もするので、別でより具体的な質問を作られたほうが、より具体的な回答が得られるのではないかと思います。

    丁寧に解説していただき、ありがとうございます。

    スラッグが変更できる場所については、
    投稿一覧のクイック編集か、投稿編集画面のパーマリンクの
    部分以外での変更は難しいという認識で大丈夫でしょうか?

    詳しいことをもう少し知りたいので
    別のトピックで、内容を変更しての質問も
    行いたいと思います。

    すみません少し誤解を招いたようです。

    投稿一覧のクイック編集か、投稿編集画面のパーマリンクの
    部分以外での変更は難しいという認識で大丈夫でしょうか?

    難しいというよりは、まずそれら以外に投稿スラッグを変更する手段が有るのか、無いのか、ということです。

    ご返信が遅くなってしまいまして、本当に申し訳なかったです。

    スラッグについて調べてみましたが、
    gqevu6bsizさんがおっしゃるように、
    難しいというよりも、そもそも方法がクイック編集かパーマリンク以外に
    無いみたいですね。

    理解力が足りずすいませんでした。

    投稿編集画面でのパーマリンクの削除という
    当初の質問は解消できましたので、
    勝手ながら、解決済みにさせていただきます。

    本当にありがとうございました。

15件の返信を表示中 - 1 - 15件目 (全15件中)
  • トピック「パーマリンクを非表示にしたい」には新たに返信することはできません。