コトダマウェブホームHTMLCSSBootsrtapWordPressプラグインphotoshopIllustratorJavaScriptjQueryその他サーチコンソールGoogleアナリティクスツールWordPressとデザインが学べるWebメディアmenuホームWordPressWordPress|特定のページだけ個別にnoindexにする方法WordPress2018.09.10WordPress|特定のページだけ個別にnoindexにする方法ここでは、WordPressでページを個別にnoindexにする方法について見ていきます。プラグインを一切使わずに、コピペ2回で済ませる方法ですので、ぜひご活用してみてください。個別にnoindexを設定するためには、functions.phpとheader.phpにそれぞれ下記のコードを追加します。(functions.php)に追加するコードはじめにfunctions.phpに下記のコードを追加してインデックス設定をするためのカスタムフィールドを作成します。(header.php)に追加するコード次に、header.phpのhead要素の中に下記のコードを追加して、metaタグが表示されるようにします。/>';}?>以上で設定は完了です。これで、固定ページと投稿ページの編集画面の右に下記のようなメタボックスが現れるようになります。このチェックボックスにチェックを入れて投稿を保存すると、headタグ内に下記のタグが挿入される仕組みになりました。/>以上が、特定のページだけ個別にnoindexにする方法でした。ここから先では、自分流にカスタマイズしたい方やコードの内容を理解したい方に向けてどういう仕組になっているのかについてお話します。(functions.php)に追加するコードfunctions.phpに記入するコードには3つの役割があります。管理画面にフィールドを出力カスタムフィールドの保存メタボックスの追加ここから下は、先ほどと同じコードが書かれていますので説明を見たいコードの行をクリックしてください。);add_action()は、イベントの設定と実行されるタイミングを指定する関数です。);カスタムフィールドを追加するための関数名(add_noindex_metabox)を指定して、関数が実行されるタイミングを「フックされるアクション名」のところで指定します。WordPressでは、ページが表示されるまでに、いろんな処理が実行されているため、どのタイミングでイベントを処理するかを決める必要があります。{関数のはじまりの部分です。処理する内容}「add_noindex_metabox」という関数をここから下で定義していきます。);add_meta_box()は投稿の編集画面にメタボックスを追加するときに使う関数です。メタボックスというのは、投稿の編集ページにある下記の赤く塗られたボックス部分のことです。これをadd_meta_box()を使って追加します。);ID:メタボックス全体をラップしているdiv要素のid属性になります。タイトル:投稿の編集ページからメタボックスを見たときの表示タイトルになります。関数名:ここには、HTMLを出力するための関数を入れます。関数は後で設定するのでとりあえず関数名だけ入れておきます。投稿タイプ:カスタムフィールドを表示させる投稿タイプを指定します。'page')という形で配列にしました。カスタム投稿タイプを指定する場合はスラッグを入れます。表示場所:メタボックスを表示させる位置の指定です。今回は、”side”を指定しましたが、省略するとエディタの下に表示されます。{add_meta_box()の第三引数で指定した関数をここで定義していきます。‘noindex’;変数$keynameにnoindexを格納します。$post;変数$postはWordPress全体で使用されるグローバル変数です。これを使う前には上記のようにグローバル宣言を行います。);get_post_meta()は、特定のカスタムフィールドの値を取得する関数です。true)第三引数は、単一の値を返すか、配列を返すかを決める部分です。trueにした場合、単一の値となります。);wp_nonce_field()は、WordPressでカスタムフィールドなどのフォームを作成する際にセキュリティ対策として設定する関数です。)具体的には、外部のサイトから送信されたデータによってサイトが改竄されてしまわないよう、自分のサイト管理画面から送られたデータであることを認証するNonceと言われるワンタイプパスワードのようなものを生成します。この関数を使うと、下記のような隠しフォームが生成されて、value属性に一時的に使用されるランダムな英数字(nonce値)が入ります。value="現在の(管理画面)URL">この後登場する、データを受信する際に認証するための関数check_admin_referer()をセットで使用することで、自分のサイトから送信されたデータであることが認証される仕組みです。‘noindex’;変数$valueに’noindex’を格納しています。”;変数$checkedを初期化しています。この変数はチェックボックスにチェックを入れるために使用します。checked’を格納する」という意味です。‘</label>’;チェックボックスを出力している部分です。);add_action()は、イベントの設定と実行されるタイミングを指定する関数です。);ここでは、カスタムフィールドのデータを保存するための関数名(save_custom_noindex)を指定して、関数が実行されるタイミングを’save_post’に指定しています。{save_custom_noindexという関数をこれから定義するところです。‘noindex’;変数$keynameに’noindex’を格納しています。{isset()は、isset(変数)という形で、変数がセットされていることを確認します。$_POSTはフォームから送られてきた送信データを受け取るためのphpのグローバル変数です。「もし、変数$_POSTに値がセットされていれば、」みたいな意味になります。name="my_name"></form>例えば、上記のようにmethod=”post”でデータを送ると、そのデータが連想配列として変数$_POSTに格納されます。太郎という形で配列が$_POSTに格納されます。ここでは、$_POST[name属性の値]という形で、inputタグのname属性の値を入れて、そのvalue属性の値を取得しています。{check_admin_referer()は先ほどの、wp_nonce_field()の対となる認証用の関数です。{isset()は、isset(変数)という形で、変数がセットされていることを確認します。$_POSTはフォームから送られてきた送信データを受け取るためのphpのグローバル変数です。「もし、変数$_POSTに値がセットされていれば、」みたいな意味になります。);update_post_meta()は、指定した投稿に存在するカスタムフィールドの値を更新するための関数です。);delete_post_meta()は、投稿から指定したキーを持つカスタムフィールドをすべて削除します。true)){is_singular()は、「投稿ページ」もしくは「固定ページ」の場合にtrueを返す条件分岐タグです。get_post_meta()は、特定のカスタムフィールドの値を取得する関数です。true)第三引数は、単一の値を返すか、配列を返すかを決める部分です。trueにした場合、単一の値となります。/>’;}以上が特定のページだけ個別にnoindexにする方法でした。理解している限りの説明を入れてありますが、もしも間違っていたらごめんなさい。いうか、気がついた方はご指摘ください。特定の記事の一部だけにスタイルシートを効かせたいときってありますよね。「投稿の編集」のテキストエディタに直接スタイルシートを記入してしまうと、コードの改行部分に<br>が勝手に入ってしまうのでスタイルシートとして機能してくれません。