Code Snippets

説明

Code Snippets は、WordPress サイトで PHP コードスニペットを実行するための簡潔でシンプルな解決法です。このプラグインを有効化すると、テーマの functions.php ファイルにカスタムスニペットを追加する必要がなくなります。

Code Snippets Pro is now available, with full CSS, JavaScript, Gutenberg and Elementor integrations.

スニペットとは、WordPress サイトの機能を拡張するための PHP コードの小さな塊を指します。サイトへの負荷が少ないミニプラグインとも言えるでしょう。

スニペットを掲載・紹介する多くのウェブサイトでは、有効化されているテーマの functions.php ファイルにコードを追加する作例が示されます。しかし、コードを追加するたびファイルの記述は長くなり、管理が面倒になることがしばしば起こります。

Code Snippets を使うと、グラフィカルなインターフェースを通じてスニペットを追加できます。追加したスニペットはテーマの functions.php ファイルに追加したコードのように、実際にサイト上で実行させることができます。

Imran Siddiq による Code Snippets の概要紹介

Code Snippets を使うと、プラグインメニューに似たグラフィカルなインターフェースでスニペットを管理できます。また、スニペットはプラグインと同様、有効化 / 無効化することもできます。

スニペット管理画面には、スニペットの名前、ビジュアルエディタ対応の説明、スニペットを分類するためのタグ、コードエディター用の入力フィールドなどが含まれています。JSON 形式のエクスポート / インポート機能を使って、スニペットを他のサイトに移設することもできます。エクスポートの時に PHP 形式を選べば、独自のプラグインやテーマを作成する際の土台としても活用できます。

Ferdy Korpershoek による、総合的な Code Snippets のチュートリアルと実践例

If you have any feedback, issues, or suggestions for improvements please leave a topic in the Support Forum, join the community on Facebook, or check us out on GitHub.

このプラグインが気に入ったり、あなたの役に立ったりしたときには、WordPress.org でレビューすることを検討してください。

翻訳

Code Snippets は、次の翻訳者のおかげで、これら異なる言語で使用できます:

スクリーンショット

  • 既存のスニペットの管理
  • 新しいスニペットを追加する
  • スニペットを編集する
  • エクスポートファイルからスニペットをインポート

インストール

自動インストール

  1. WordPress 管理画面にログイン
  2. プラグインをクリック
  3. 新規追加をクリック
  4. Code Snippets の検索
  5. “Code Snippets” の下の「今すぐインストール」をクリック
  6. プラグインを有効化する

手動インストール

  1. プラグインをダウンロードする
  2. ZIP ファイルの中身を取り出す
  3. Zip ファイルの内容を WordPress インストールの wp-content/plugins/ フォルダにアップロード
  4. 「プラグイン」ページで Code Snippets プラグインを有効化

サイトネットワーク管理画面で Code Snippets を「ネットワークで有効化」すると、スニペット編集画面にネットワーク全体でスニペットを実行するための設定項目が現れます。

FAQ

よくある質問の全リストは、help.codesnippets.pro でご覧いただけます。

スニペットのバグでサイトに不具合が起きたときの復帰方法を教えてください。

Code Snippets のセーフモード機能を有効にすると、サイトの動作を復旧させることができます。有効化の方法については次のリンク先を参照してください: https://help.codesnippets.pro/article/12-safe-mode

テーマを変えたり WordPress をアップグレードしたりすると、作成したスニペットは失われますか ?

いいえ、スニペットはテーマとは無関係に WordPress データベースに保存され、WordPress のアップグレードの影響を受けません。

プラグインを完全にアンインストールすることはできますか ?

プラグインの設定ページで「プラグイン削除時の処理」オプションを有効にすると、WordPress の「プラグイン」メニューから Code Snippets を削除した時に、Code Snippets のすべてのデータがクリーンアップされます。このデータには保存済みのすべてのスニペットが含まれます。スニペットをバックアップしておきたい場合は、まずスニペットをエクスポートしてください。

作成したスニペットを別の WordPress サイトにコピーできますか ?

はい ! 「スニペット一覧」ページのスニペット名の下にあるリンクからスニペットを個別にエクスポートしたり、「一括操作」機能で複数のスニペットを一括エクスポートしたりすることができます。エクスポートしたファイルは「インポート」ページでインポートすることもできます。

Code Snippets プラグインを使っていないサイトでスニペットを使いたいです。作成したスニペットを PHP コードとしてエクスポートできますか ?

はい。使いたいスニペットの横にあるチェックボックスをクリックし、「一括操作」メニューから「ダウンロード」を選択して「適用」をクリックします。生成された PHP ファイルには、エクスポートされたスニペットのコードのほか、スニペットのタイトルと説明がコメントとして含まれます。

マルチサイト環境において、スニペットをネットワーク全体で実行することはできますか ?

ネットワークダッシュボードから Code Snippets をネットワーク起動することで、マルチサイトネットワーク全体でスニペットを実行することができます。また、メインサイトだけで Code Snippets を有効にして、他のお好きなサイトで個別に有効にすることもできます。

WordPress データベースのどこにスニペットが保管されているのでしょうか?

スニペットは WordPress データベースの wp_snippets テーブルに格納されます。テーブル名は、テーブルのプレフィックスの設定によって異なる場合があります。

ヘルプや新機能について提案したいときはどうすればよいですか ?

You can get help with Code Snippets, report bugs or errors, and suggest new features and improvements either on the WordPress Support Forums or on GitHub

Code Snippets プラグインの開発に貢献するにはどうすればよいですか ?

The best way to do this is to fork the repository on GitHub and send a pull request.

評価

2023年5月17日
Great plugin. Works perfect without any problems.
2023年3月27日 2 replies
This is one of my favorite plugins! Easy to use an effiicient. And on top a really outstanding support by the plugin-author @bungeshea Thanks 🙂
2023年3月23日 1 reply
This is one of our highly recommended tools. I’ve been in IT Management and Consulting for over 40 years. It's lightweight and easy to use as it's reasonably intuitive. I used to have to document where custom coding resided but now, I don't have to. Also, storing the snippets with its export function is easy and it’s great for versioning, if needed. I also can use it for temporary code fixes issued by any support team. I no longer have to insert coding directly into my templates or other php files. I strongly recommend the pro version for the advantages of handling all types of code like PHP, JS, CSS, and HTML. It also has a great feature where you can just disable a script from running if you want; so, you don't have to delete it and then reinstate it for the future. I list it as a basic requirement for Food Blogs in the topic category of Food Blog Resources. Case Examples: Kadence, SEOPress, and ContentViews support team gave us some scripting to run in various places within the site. Linxent.com™ recently awarded it the Business Resources 5-Star Award, where there’s a complete writeup on it recently.
413件のレビューをすべて表示

貢献者と開発者

Code Snippets はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“Code Snippets” は22ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“Code Snippets” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

3.4.0 (17 May 2023)

  • Added: Proper WordPress REST API support for retrieving and modifying snippets.
  • Improved: Better compatibility with modern versions of PHP (7.0+).
  • Improved: Converted Edit/Add New Snippet page to use React.
    • Converted action buttons to asynchronously use REST API endpoints through AJAX.
    • Load page components dynamically through React.
    • Added action notice queue system.
    • Replaced native alert dialog with proper React modal.
  • Improved: Catch snippet execution errors to prevent site from crashing.
  • Improved: Display recent snippet errors in admin dashboard instead.
  • Improved: Updated editor block to use new REST API endpoints. (PRO)
  • Improved: Change colour of upgrade notice in Pro plugin. (PRO)
  • Improved: All available snippet data is included in export files.
  • Improved: Only import specific fields from export file, even if additional fields specified.
  • Fixed: Issue preventing editor colorpicker from loading correctly. (PRO)
  • Improved: Added help links to content snippet options.
  • Improved: Pass additional attributes specified in [code_snippet] content shortcode to shortcode content.
  • Improved: Make shortcode attributes available as individual variables.
  • Improved: Allow boolean attributes to be passed to code snippets shortcodes without specifying a value.
  • Improved: Replace external links to Pro pricing page with an upgrade modal.
  • Fixed: Issue preventing linting libraries from loading correctly in the code editor.

3.3.0 (09 Mar 2023)

  • Fixed: Do not enqueue CSS or JS snippet file if no snippets exist. (PRO)
  • Improved: Added additional editor shortcuts to list in tooltip.
  • Added: Filter for changing Snippets admin menu position. See this help article for more information.
  • Added: Ability to filter shortcode output. Thanks to contributions from Jack Szwergold.
  • Fixed: Bug causing all snippets to show in site health information instead of those active.
  • Fixed: Unnecessary sanitization of file upload data causing import process to fail on Windows systems.

3.2.2 (17 Nov 2022)

  • プラグイン起動時にヘッダーエラーが発生する不具合を修正した。

3.2.1 (05 Oct 2022)

  • アンケートリマインダーの通知が解除できない問題を解消した。
  • スニペットエディターでコードをコメントアウトするとき、Ctrl+/Cmd+/ をキーボードショートカットとして使えるようにした。
  • さまざまなスニペットアクションへのフックを追加した (ancient-spirit の貢献に感謝)。
  • スニペットエディターに折りたたみマーカー、キーボードショートカット、キーマップオプションを追加した (Amaral Krichman の貢献に感謝)。
  • 重複して存在するテーブルのクエリを削除した (# を参照)。
  • コンテンツスニペットの新規作成時、「段落と書式を追加する」オプションをデフォルトで有効にするようにした。
  • スニペットの取得、有効化、無効化、削除、作成、更新、エクスポート、インポートを実行する WP-CLI コマンドを追加した。
  • プロ版の更新時に表示されるパスを修正した。

3.2.0 (22 July 2022)

  • SQL カラムのデフォルト値を削除し、特定バージョンの MySQL における互換性を改善した。
  • Gutenberg エディターブロックにおけるスニペットの遅延読み込みを修正した (プロ版)。
  • Gutenberg エディターのソースコードブロックに、行番号の表示 / 非表示オプションを追加した (プロ版)。
  • HTML、CSS、JS、埋め込みコードをフロントエンドの Prism JS コードハイライターに対応させた。
  • フロントエンドの Prism JS コードハイライターに自動リンクやコピーボタンなどを追加した。
  • Gutenberg エディターのソースコードブロックについて、複数のコードスタイルに対応した (プロ版)。
  • Code Snippets プロ版の更新をサイト管理者に知らせる機能を追加した
  • 異なるバージョン間における翻訳の不一致を修正した。
  • コンテンツスニペットのショートコード情報が表示されない問題を修正した。
  • ショートコードのテキストをクリップボードにコピーするボタンを追加した。
  • Code Snippets の CSS と JS のソースコードを配布パッケージに含めるようにした。
  • Code Snippets プロ版を有効化した状態で Code Snippets 無料版を削除しても、プラグインのデータを削除しないようにした。
  • Gutenberg エディターブロックのユーザーインターフェースを改良した (プロ版)。
  • ソースエディターブロックと Elementor ウィジェットの Prism コードハイライタについて、44種類のテーマから選べるオプションを追加した (プロ版)。
  • Elementor ウィジェット最新バージョンとの互換性を改善した (プロ版)。
  • アイコンフォントメニューのアイコンを埋め込み SVG アイコンに置換した。

3.1.2 (3 July 2022)

  • Code Snippets プロ版への外部リンクと表記を更新した。
  • 設定ページにおいて、ページ内ナビゲーションの代わりにリンク URL を追加した。
  • ブロックエディターが使用するスクリプトを修正した (プロ版)。
  • Gutenberg エディターにおけるブロックのスタイルを改善した (プロ版)。

3.1.1 (13 Jun 2022)

  • スニペットをダウンロードした時に、スニペットのコンテンツが含まれない問題を修正した。
  • 「外部で開く」アイコンの表示位置のずれを修正した。
  • code_snippets/export/filename フィルターに追加のパラメータを追加した。

3.1.0 (17 May 2022)

  • キャッシュ不整合が原因となり、永続的なオブジェクトキャッシュを使用するサイトでスニペットや設定が更新されない問題を修正した
  • データベースにアクセスする際のクエリーを簡素化した。
  • 有効化したスニペットにも作用する、従来より包括的なキャッシュ機能を追加した。
  • 「プロ版 (Go Pro)」ボタンに、新しいタブを開くことを示すアイコンを追加した。
  • スニペットの説明文にスタイルを適用できるようにした。

3.0.1 (14 May 2022)

  • 以前のバージョンの PHP との互換性問題を修正した。

3.0.0 (14 May 2022)

追加:

  • ショートコードとして使用したり、ページのヘッダーやフッターとして表示したりするための HTML コンテンツスニペットを追加した。
  • 非サポートの PHP を使用する環境で PHP のアップグレードを促す通知を出すようにした。
  • ショートコードに属性を追加するための設定項目を設けた。
  • 投稿や固定ページの編集画面に挿入できるよう、ショートコードボタンを追加した。
  • 基本的な REST API のエンドポイントを追加した。
  • スニペット一覧ページにスニペットタイプを示す欄を追加した。
  • スニペット編集ページに、編集中のスニペットタイプのバッジ (小さなアイコン) を表示する機能を追加した。
  • コードエディターのハイライト表示に関する設定項目を追加。現在行のハイライト表示 / 非表示を切り替えられるようにした。
  • タイトルやコードのないスニペットを保存しようとした際、警告を表示する機能を追加した。
  • スニペットを複製した際、スニペットのタイトルにサフィックスを追加するようにした。

変更:

  • プラグインのコードを改良。名前空間を導入し、他のプラグインとの名前の衝突を防ぐように改善した。
  • データベーステーブルの active カラムと scope カラムにキーを追加し、クエリーを高速化するように改善した。
  • 正しく記述されたスニペットを編集していないとき、編集メニューからリダイレクトするように改善した。
  • スニペット一覧ページに表示される、スニペット有効化 / 無効化の切り替えスイッチを移動した。
  • WordPress 標準に従ってコードのドキュメントを更新した。
  • スニペット一覧ページのタブに、スニペットのタイプを示すラベルを追加した。
  • プラグイン設定ページの設定項目をタブで分類するように改善した。
  • WordPress 同梱の CodeMirror をできるだけ使用し、内蔵されている機能を継承するよう改善した。
  • スニペット編集画面の優先度設定欄にホバー効果を追加し、編集可能であることを明示するようにした。
  • 小さなサイズの画面でスニペット一覧を表示した際のテーブルレイアウトを修正した。

非推奨:

  • サポート外となったバージョンの PHP で使われていた非推奨の関数など、互換性に影響のあるコードを除去した。
  • スニペットを適用しない範囲を指定するオプション項目を削除した。

プロ版の新機能

  • フロントエンドと管理画面にスタイルスニペット (CSS) を挿入できる機能を追加した。
  • フロントエンドの head セクションと body セクションに JavaScript スニペットを挿入できる機能を追加した。
  • CSS スニペットおよび JavaScript スニペットについて、ブラウザキャッシュのバージョン管理機能を追加した。
  • CSS スニペットおよび JavaScript のスニペットのエクスポート機能を追加した。
  • フロントエンドでのコードのハイライト表示に対応した。
  • CSS、JavaScript、HTML 編集時のシンタックスハイライト機能を追加した。
  • CSS スニペットおよび JavaScript スニペットの編集時、ファイル全体をプレビューできるボタンを追加した。
  • CSS スニペットおよび JavaScript スニペットの圧縮オプションを追加した。
  • コンテンツスニペットを表示する Gutenberg ブロックを追加した。
  • スニペットのコードを表示する Gutenberg ブロックを追加した。
  • コンテンツスニペットを表示するための Elementor ウィジェットを追加した。
  • スニペットのコードを表示する Elementor ウィジェットを追加した。

2.14.6 (13 May 2022)

  • アップロードしたインポートファイルの処理に関する問題を修正した。
  • タグフィルターの処理に関する問題を修正した。

2.14.5 (10 May 2022)

  • 古いバージョンの PHP との互換性問題を修正した。

2.14.4 (5 May 2022)

  • スニペット一覧を未知の順序で表示しようとした際に起きる、配列キーのエラーを修正した。

2.14.3 (10 Dec 2021)

  • snippets-safe-mode クエリ変数の値をそのまま出力した時に生じる可能性がある、セキュリティ上の問題を修正した (Krzysztof Zając の報告に感謝)。

2.14.2 (9 Sep 2021)

  • シングルサイト環境下で、ネットワークスニペットのテーブルが作成されないように改善した。
  • 翻訳の追加:
  • コードバリデーターで :class 構文をサポートする機能を追加した。
  • コードリンターを PHP8 に対応させた。
  • コードエディターにカラーピッカー機能を追加した。
  • 複数バージョンの Code Snippets の同時実行を防止するため、フェイルセーフの仕組みを導入した。

2.14.1 (10 Mar 2021)

  • チェコ語の翻訳: Lukáš Tesař
  • function_existsclass_exists をサポートするよう、コードバリデーターを改善した。
  • 無名関数に対応するよう、コードバリデーターを改善した。
  • 非表示の列の設定を保存する際の問題を改善した。
  • 古くなった tag-it ライブラリに代わり、スニペットタグエディタを動作させるライブラリを tagger に置き換えた。
  • RTL 環境で使用するユーザー向けに、コードの表示方向を設定する機能を追加した。
  • CodeMirror をバージョン5.59.4に更新。
  • アクションフックと検索 API を追加した (@Spreeuw の貢献に感謝)。

2.14.0 (26 Jan 2020)

  • CodeMirror をバージョン5.50.2に更新。
  • 基本的なエラーチェックを行い、関数やクラスの重複を確認するようにした。
  • 表示の問題を修正するためにイタリア語の翻訳を更新した (Francesco Marino に感謝)。
  • スニペット一覧でタイトルによる並び替えをした際、大文字と小文字を区別しないように修正した。
  • スニペットを取得するための API オプションを追加した。
  • コードエディターについて、埋め込んだ HTML、CSS、JavaScript のコードを適切にハイライトするよう修正した。
  • 無効化されているスニペットを示す色を、赤からグレーに変更した。
  • エディターテーマがデフォルトに設定されないバグを修正した。
  • それぞれのスニペットの最終更新日時を保存する機能を追加した。
  • スニペットを有効化した際に基本的なエラーチェックを行う機能を追加した。
  • インポートしたスニペットが無効化されていることを常に確認するように改善した。
  • CSRF 攻撃を防ぐため、インポートメニューのリファラーを確認するように修正した (Wordfence Threat Intelligence チームの Chloe の報告に感謝)。
  • それぞれのスニペットが用いるアクションリンクについて、適切な検証が行われていることを確認するよう改善した。

The full changelog is available on GitHub