• 解決済 fizenet

    (@fizenet)


    複数の投稿・編集者が存在するサイトを構築したいと考えています。

    投稿画面・固定ページの編集画面内で、
    内容の一部を編集できないよう、何らかの形でロックすることは可能でしょうか。
    イメージとしては、Dreamweaverでテンプレートが適応されたページのロック領域のようなものです。

    何かアイデアがありましたら、
    ぜひとも教えて頂きたく質問した次第です。
    何卒、よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック投稿者 fizenet

    (@fizenet)

    すみません、あまりにも抽象的な質問だったでしょうか。
    もしくは突拍子すぎる類でしょうか…。

    もしよければ、今の私目の案を吟味していただけると幸いです↓

    function.phpにて、投稿の文字列を置き換えるという案です。
    これなら、文字列を消されても修正がすぐできるのではと考えてみました…。

    <?php
    function change($content)
    {
      $t = array(
        'a' => '内容',
        'b' => '<div><p><a href="">何かに置き換えてから表示されます',</a></p></div>',
        'c' => '何かに置き換えてから表示されます',
      );
      return str_replace(array_keys($t), $t, $content);
    }
    add_filter('the_content', 'change');
    ?>
    モデレーター gatespace

    (@gatespace)

    基本的に投稿欄に記載されている内容の一部をロックする、ということはできません。

    fizenet さんの案ですが、「何に置き換えられたか」を判断するすべがないのがネックなのと、出力時に調整するので、見た目は大丈夫かもしれませんがデータベースに変更された内容が保存されているわけでは無いので、置き換えられた文字列はWordPressのデフォルトの検索の対象外となります。

    あと、案だけですが、
    予めレイアウトやフォーマットなどが固定されていればカスタムフィールドやカテゴリー、タグ、カスタムタクソノミーを使う方法もあります。

    しかし、カスタムフィールドについては、こちらもWordPressのデフォルトの検索の対象外であったりしますのでご注意ください。

    fizenetさんの案を見るに定型文みたいなのがあってそれを削除されると困るような形なのでしょうか?
    レイアウト等が決まっている場合は上記の用にカスタムフィールドを使ったりコンテンツ部分ではなくテンプレートに記述する形になると思います。

    本文の後ろに必ず付けるタイプの場合はthe_contentsにフィルターして語尾に追加する方法もあります。

    もしくはショートコードを作成してショートコードで固定部分を出力する形も考えられます。

    トピック投稿者 fizenet

    (@fizenet)

    > gatespace様

    貴重なご指摘、ありがとうございます。
    カスタムフィールドについては、学びつつ検討しています。
    奥が深いですね・・・。
    「WordPressのデフォルトの検索の対象外」…初耳でした!

    > gogoweb様

    複数の案を提示して頂き、ありがとうございます。
    フィルタの設定などを考えると、
    ショートコードはわかりやすくていいですね。

    ご意見を参考にさせて頂き、制作していこうと思います。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「ページ・投稿の編集画面内でのロック」には新たに返信することはできません。