web-dev-qa-db-ja.com

ここまたは他の場所で見つけたコードスニペットはどこに置くのですか。

ここや他の場所の多くの投稿にコードが含まれていますが、それらをどこに置くべきかは述べていません。

例:

この投稿を見つけました: 301リダイレクトの投稿を無効にする方法(正規ではありません)
私はPHPの初心者です。答えからコードをどこに正確に置くべきですか?

34
Carl

明確なインストール手順のないコードを見つけた場合、それはおそらくプラグインです。あなたが与えた例は、最も一般的なケースであるため、良い例です。

add_action('template_redirect', 'remove_404_redirect', 1);
function remove_404_redirect() {
// do something
}

このようなスニペットを使用するには、プラグインに入れます:

  1. 新しいファイルを作成し、たとえばremove_404_redirect.phpという名前を付けます。
  2. シンプルな plugin headers を最初にファイルに書き込みます。コードを見つけたURLをPlugin URLとして使用し、コード作成者をPlugin Authorとして使用します。

    <?php
    /**
     * Plugin Name: Remove 404 redirect
     * Description: Disable redirects to similar posts.
     * Plugin URI:  https://wordpress.stackexchange.com/questions/44740/how-do-i-turn-off-301-redirecting-posts-not-canonical
     * Author:      William
     * Author URI:  https://wordpress.stackexchange.com/users/9942/william
     */
    
  3. 使用するコードをプラグインヘッダーの下に配置します。

  4. インストール 新しいプラグイン。

それはすべての人々です。

あなたはできましたテーマのfunctions.phpにコードを追加しました。しかし、それは良い考えではありません。

  • 通常、このコードはサイトのデータの視覚的表現を変更することを意図したものではありません。しかし、それがテーマの唯一の目的です。責任を混在させないでください。
  • functions.phpのコードを個別にオフにすることはできません。コードがいつか壊れる場合は、functions.phpを再度編集するか、テーマを切り替える必要があります。別のテーマを使用する場合は、そのすべてのコードを再度コピーして貼り付ける必要があります。
  • functions.phpにより多くのスニペットを挿入すると、時間の経過とともに維持できない混乱が生じます。

関連: 私のコードを置く場所:pluginまたはfunctions.php?

34
fuxia

私はプラグインの開発者です。管理者インターフェースを通してWordPressサイトにコードスニペットを追加することができます。

スニペットを管理するための、Pluginsメニューに似たグラフィカルインタフェースが追加されています。スニペットは、有効化または無効化したり、名前と説明を割り当てたり、タグを使用して分類したりできます。インポート/エクスポート機能を使用して、サイト間でバックアップおよび転送することもできます。

Managing existing snippets 

Editing a snippet 

より多くのスクリーンショット

WordPress.org でCode Snippetsプラグインの詳細を学び、 GitHub でそのコードを見ることができます。

16
shea

リンクで参照されているコードは、canonical.phpではなく、あなたのテーマのfunctions.phpファイルに置かれるべきです。あなたはいつもコアWPファイルを修正することを避けるべきです。他のコードを上書きしたりコメントアウトしたりする必要はありません。

Functions.phpの単純な構文エラーでもサイト全体が破壊される可能性があるため、編集する前にfunctions.phpファイルのバックアップを作成してください。

6
andy

Jupiter WordPressテーマを使用している場合は、子テーマのfunctions.phpにコードスニペットを追加して、ここで説明されているようにフック、フィルタ、およびショートコードの上書きを開始できます。

https://themes.artbees.net/docs/overriding-shortcodes/ /

2
Mohsenr1