• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

FAQ/Working with WordPress

提供: WordPress Codex 日本語版
< FAQ
移動先: 案内検索

FAQ へ戻る

目次

管理

投稿の URL を /index.php?p=76 形式以外にするには?

参照:


mod_rewriteがあるかどうかを調べるには?

サーバーの情報を調べるには phpinfo() 関数を使用します。

1. テキストエディタ で次のコードを入力する。

<?php phpinfo(); ?>

2. info.php として保存する。
3. サーバーにアップロードし、ブラウザでアクセスする (例: www.example.com/info.php)

info.php ファイルはインストールされた PHP の詳細な情報を整理して返します。ここで mod_rewrite がロードされているかどうかを確認するには、apache ヘッダの下の Loaded Modules セクションに mod_rewiite がロードされているかどうかを調べます。


ファイルやフォルダーのパーミッションを変更するには?

参照:


WordPress のリリースサイクルは?

WordPressのメジャーリリースは約半年ごとに行われます。将来リリースに対するコメントの募集とアンケートは「the WordPress Extend Ideas site」で行われています。

WordPress バージョン一覧」も参照してください。ここには WordPress のバージョンの時系列のリスト、変更履歴、各バージョンの新機能、改良点、将来のリリース情報、バグトラッカーでの各マイルストーンへのリンクが含まれています。


パーマリンクを有効にするには? そしてエラーが起きたら?

参照:


権限グループとは? 権限グループに含まれる権限とは?

参照:


wp-config.php のパーミッションが 644 では共有サーバーの他のユーザーにユーザー名やパスワードが公開されませんか?

これはサーバー上における PHP 設定の制限です。過去 Movable Type のユーザーであれば恐らく Perl を suexec で設定し Movable Type をユーザーとして動作させていたでしょう。一方 PHP は Web サーバーユーザーとして稼働しており、これが少なくとも 444 である理由です。phpsuexec もありますが多くのホストサービスでは使用されていません。

ただし現代の共有ホスト環境で問題が生じるケースはほとんどありません。確かにファイルは世界中から読み出し可能ですが、各アカウントは「jailshell」で設定されホームディレクトリから出ることはできません。また PHP は簡単に open_basedir 制限をかけ、他人のファイルを読みだす PHP スクリプトの作成を防止します。それでもまだ心配であればホストサービス会社に連絡し、どのような対抗手段を取っているか確認してください。


ユーザーがログイン後、ブログのメインページにリダイレクトするには?

デフォルトでは登録ユーザーが WordPress サイトにログインすると管理画面にリルートされます。リダイレクトを処理しページを変更する WordPress プラグインがあります。またはリダイレクトを処理するテーマ関数を設定できます。関数リファレンス/wp login url を参照してください。


テーマエディタでの編集のためファイルパーミッションを変更するには?

参照:


他の Web サイトから画像への直リンクを防ぐには?

他の Webサイトから直接サイト内の画像にリンクしてくる「直リンク」を防ぐには .htaccess ファイルを使用してください。直リンクはネットワーク回線の一部を横取りする行為です。サイトの画像に直接リンクを張られると回線の一部が使用されます。


phpMyadminを使用して WordPress のデータベースをバックアップ、リストアするには?

参照:


コメント大量攻撃を防ぐには?

コメント大量攻撃は非常に短期間に大量のコメント(恐らくスパム)を Web サイトに投稿する攻撃です。一般にはさまざまな コメントスパム 問題の 1つですが、モデレーターの時間は不愉快なコメントの削除に費やされてしまいます。

WordPress はデフォルトで最悪のケースを自動で管理します。manage_options 権限 を持つ登録ユーザー以外のユーザーが同じ IPアドレスまたはメールアドレスから 15秒以内に続けてコメントを投稿すると、コメントは削除されます。この時間はコメント機能を拡張する多くのプラグインで設定できます。また多機能なスパムブロックプラグインのインストールを検討してもよいでしょう。たとえば Akismet やコメントシステムそのものを置き換える Disqus があります。

間隔の時間を変えるだけであれば現在のテーマの functions.php に次のフィルターを挿入します。あるいは次のコードをもつ簡単なプラグインを作成しインストールしてもよいでしょう。プラグインの作成 はとても簡単です。

function dam_the_flood( $dam_it, $time_last, $time_new ) {
	if ( ($time_new - $time_last) < 300 ) // 次のコメントまで 300秒
		return true;                  
	return false;
}
add_filter('comment_flood_filter', 'dam_the_flood', 10, 3);

ほとんどの場合、このコードで十分動作するでしょう。


なぜ「未分類」カテゴリーは消せないのですか?

カテゴリーを削除しても、そのカテゴリー内の投稿は削除されません。その代わり、削除したカテゴリーだけに属していた投稿は 未分類 カテゴリーに移動されます。また すべての 固定ページ未分類 カテゴリーに割り当てられます。

未分類 カテゴリーは削除できませんが、投稿に対するデフォルトのカテゴリーは 管理画面設定 - 投稿設定 画面で指定できます。


なぜ固定ページの作成や編集で「ページテンプレート」オプションが表示されないのですか?

固定ページの作成や編集画面で「ページテンプレート」が表示されない場合、正しい構造のテンプレートファイルがありません。固定ページ に割り当てるページテンプレートボックスを表示するには、テーマの中に少なくとも 1つ、冒頭が次の構造で始まるテンプレートファイルが必要です。

<?php
/*
Template Name: 私のカスタムページ
*/
?>

テーマディレクトリの下に任意の名前で PHP ファイルを作成し、上のコードを貼り付けます。すると固定ページの編集画面にオプション「私のカスタムページ」を含むページテンプレートボックスが表示されます。カスタムページテンプレートの詳細については「ページテンプレート」を参照してください。


Web サイトの先頭ページとして、静的なフロントページや投稿のページを表示するには?

参照:

以下は静的なフロントページに固定ページのコンテンツでなく、1件の最新の投稿を表示するサンプルのページテンプレートです。

<?php
/*
Template Name: MyFront
*/
get_header(); ?>

	<div id="primary" class="content-area">
		<main id="main" class="site-main" role="main">

		<?php
		$args = array('posts_per_page' => 1, 'cat' => 1);
		$the_query = new WP_Query( $args );

		// The Loop
		while ( $the_query->have_posts() ) : $the_query->the_post();
				get_template_part( 'content', get_post_format() );

		// End the loop.
		endwhile;
		?>		

		</main><!-- .site-main -->
	</div><!-- .content-area -->

<?php get_footer(); ?>

以下も参照してください。


投稿 ID、固定ページ ID、カテゴリー ID、タグ ID、ユーザー ID を調べるには?

特定の投稿、固定ページ、カテゴリー、タグ、ユーザーの ID が必要な場合があります。ID を調べるには次のいずれかの方法を使用してください。

  • ブラウザのステータスバーに ID を表示する:
  1. 管理画面の関連する一覧画面を開きます。たとえば投稿の場合、投稿->投稿一覧、固定ページの場合、固定ページ->固定ページ一覧、カテゴリーの場合、投稿->カテゴリーにアクセスします。
  2. ID が必要な項目の上にマウスを移動します。たとえばページの場合、「タイトル」列のページのタイトルの上、カテゴリーの場合、「名前」列のカテゴリー名の上に移動します。
  3. ブラウザ下部のステータスバーを見ると、URL が表示され、その末尾に「post=123」や「tag_ID=67」のような文字列が含まれます。この例では 123 がページ ID、67 がカテゴリー ID です。
  • プラグインをインストールする:
  1. プラグイン Reveal IDs for WP AdminShowID for Post/Page/Category/Tag/Comment をインストールし、有効化してください。
  2. 各アイテムに表示される ID を調べます。


構成

表示される日付、時間を変更するには?

参照:


投稿に付けられたコメントを制御するには?

参照:


ディスカッションオプションとは?

参照:


プラグインをインストールするには?

参照:


投稿に複数のカテゴリーを関連付けた場合の表示を変更するには?

Twenty Fifteen テーマでは、投稿の複数のカテゴリーはコンマで区切られて表示されます。この表示を変更するには次の手順にしたがってください。

1. Twenty Fifteen テーマの子テーマを作成します。
2. 親の inc/template-tags.php から twentyfifteen_entry_meta() 関数を子テーマの functions.php にコピーします。

function twentyfifteen_entry_meta() {
	if ( is_sticky() && is_home() && ! is_paged() ) {
		:
	}
}

3. twentyfifteen_entry_meta() 内の get_the_category_list() 呼び出し内の引数 ', ' を希望の文字列で置き換えます。

$categories_list = get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfifteen' ) );

' > '、' &bull; '、または ' | ' で置き換えると、それぞれ、矢印、バレット、またはパイプ(|)がカテゴリーの間に表示されます。

4. 子テーマを有効化します。


なぜすべてのコメントをモデレートする必要があるのですか?

管理画面で「設定」 > 「ディスカッション」画面に移動し、「コメントの手動承認を必須にする」オプションがオフになっていることを確認してください。このオプションがオンの場合、すべてのコメントは承認を待つモデレーションキューに入れられます。

また 「 x個以上のリンクを含んでいる場合は承認待ちにする」オプションがブランクでないこと、0より大きな値が入力されていることを確認してください。値がブランク、または 0の場合、リンクを含むすべてのコメントは承認が必要になります。

それでも問題が続く場合、「スパムワード」リスト内に空白行、句読点、1つの文字が含まれていないか確認してください。リスト内の単語は空白文字で分けるか、1行ごとに記述する必要があります。

またインストール済みのコメントスパム用プラグインをアップグレードしてください。問題が続くようであれば 1つずつコメントスパム用プラグインを無効化していって犯人を見つけ、プラグインの作者に連絡してください。


コメントを無効にするには?

まず管理画面で「設定」 > 「ディスカッション」画面に移動し、「新しい投稿へのコメントを許可する」オプションをオフにしてください。ただしこのオプションは これからの投稿 へのコメントのみを無効にします。

次に既存の投稿のコメントを無効にするため、それぞれの「投稿の編集」画面で「コメントの投稿を許可する」オプションをオフにする必要があります。複数の投稿のコメントを一度に無効にするには一括編集を使用します。

  1. 投稿画面で、投稿一覧の「タイトル」のチェックボックスをオンにして一覧内のすべての投稿を選択します。
  2. 「一括操作」ボックスで「編集」を選択し、「適用」をクリックします。
  3. 「一括編集」画面の「コメント」ボックスで「許可しない」オプションを選択します。
  4. 「更新」をクリックします。

投稿の一括編集画面

シェルアカウントのコマンドライン、phpMyAdmin、または wp-cliwp db query から次の MySQL クエリーを実行しても、一度にコメントを無効にできます。

UPDATE wp_posts SET comment_status = 'closed';

既存のコメントの痕跡を完全に削除するには次の手順に従ってください。ただしこれは Twenty Fifteen のカスタマイズ例です。

1. Twenty Fifteen テーマの子テーマを作成します。
2. 親の inc/template-tags.php から twentyfifteen_entry_meta() 関数を子テーマの functions.php にコピーします。
3. comments-link を含む IF ブロックをコメントアウトします。

function twentyfifteen_entry_meta() {
	if ( is_sticky() && is_home() && ! is_paged() ) {
		:
	}

	// if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
	// 	echo '<span class="comments-link">';
	// 	/* translators: %s: post title */
	// 	comments_popup_link( sprintf( __( 'Leave a comment<span class="screen-reader-text"> on %s</span>', 'twentyfifteen' ), get_the_title() ) );
	// 	echo '</span>';
	// }
}

これで各投稿下のコメント数やメッセージ「コメント」が削除されます。
4. 新規に子テーマディレクトリ内に空のファイル comments.php を作成します。これで既存の投稿のコメント表示領域が削除されます。
5. 子テーマを有効化します。


トラックバックやピンバックを無効化するには?

管理画面で 設定 > ディスカッション 画面に移動し、「新しい記事に対し他のブログからの通知 (ピンバック・トラックバック) を受け付ける」オプションをオフにしてください。ただしこのオプションは これからの投稿 へのピンバック、トラックバックのみを無効にします。

次に既存のピンバック、トラックバックをオフにするため、それぞれの投稿の編集画面で「このページで トラックバックとピンバックを許可する」オプションをオフにする必要があります。複数の投稿のコメントを一度に無効化するには一括編集を使用します。上の図も参照してください。

  1. 投稿画面|投稿画面で、投稿一覧の「タイトル」のチェックボックスをオンにして一覧内のすべての投稿を選択します。
  2. 「一括操作」ボックスで「編集」を選択し、「適用」をクリックします。
  3. 「一括編集」画面の「トラックバック/ピンバック」ボックスで「許可しない」オプションを選択します。
  4. 「更新」をクリックします。

シェルアカウントのコマンドライン、phpMyAdmin、または wp-cliwp db query を使用から次の MySQL クエリーを実行しても、一度にピンバック、トラックバックをオフにできます。

UPDATE wp_posts SET ping_status = 'closed';


サイト管理者の名前を変更するには?

管理者の名前を変更するには、管理画面 で「ユーザー」>「あなたのプロフィール」を選択し、変更してください。なお管理画面で「ユーザー名」は変更できません。ユーザー名を変更するには直接 MySQL データベースを編集する必要があります。ただしこれは推奨されませんし、通常、他のユーザーがユーザー名を認知することはありません。

参照:

画像のアップロード先の絶対パスを調べるには?

1. ブラウザで以下のページを開きます。

http://(サイトのURL)/wp-admin/options.php

2. 「upload_url_path」を探してください。 空白の場合はデフォルトの wp-content/upload/ がメディアの保存先です。


ブログの見た目を変更するには?

参照:


コメントをポップアップ形式に変更するには?

注意: このポップアップコメントは古い機能です。途中に使用される comments-popup.php も下位互換性のためだけに残されており、将来のバージョンでは削除されます。またポップアップするダイアログボックスのデザインを他のページと合わせるには相応の変更が必要です。既存のコメント方式の CSS によるカスタマイズを検討ください。


ポップアップコメントの変更方法や場所はテーマに依存します。メインのページのコメントリンクをポップアップ形式に変更するには、headers.php テンプレートの <head> セクションに comments_popup_script() 関数コールを挿入します。

挿入に最適な場所は<head> セクションの最後の wp_head() 呼び出しの直前です。

<?php comments_popup_script() ?>
<?php wp_head(); ?>
</head>

またテーマディレクトリに comments-popup.php テンプレートも必要です。WordPress Version 4.3 であれば、(WordPress ルート)/wp-includes/theme-compat ディレクトリからコピーしてください。あるいは リリースアーカイブ から zip ファイルをダウンロードし解凍してください。少なくとも Version 2.7wp-content/themes/default ディレクトリ下には含まれています。

(WordPress ルート)/wp-includes/theme-compat ディレクトリから comments-popup.php をコピーした場合、ファイル冒頭の _deprecated_file() 関数呼び出しをコメントアウトする必要があります。

// _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.0', null, sprintf( __('Please include a %1$s template in your theme.'), basename(__FILE__) ) );
?>

同様に単一ページのコメントをポップアップにするには、現行のコメントルーチンの comments_template() 呼び出しを検索してください。通常は single.php テンプレートに含まれます。次にこの関数呼び出しをコメントアウトし、comments_popup_link(); を挿入します。

<?php comments_popup_link(); ?>
<?php /* php comments_template( '', true ); */ ?>


画像をアップロードするには?

参照:


メッセージ「データベース接続確立エラー」をもっと丁寧な説明に変えるには?

単純に wp-content/db-error.php を作成し、そのファイルの中に WordPress がデータベースの接続を利用できない場合にユーザーに表示するメッセージを挿入してください。メッセージ「データベース接続確立エラー」の代わりにこのファイルが使用されます。db-error.phpからユーザーを他のページヘリダイレクトすることも可能です。db-error.php の例を挙げます。

<?php
  echo '<h2> 現在データベースサーバーに問題が生じています。</h2>ブラウザをリロードしてみてください。';
?>


更新

スマイリーを変更するには?

参照:


ファイルを編集するには?

参照:


ループとは?

参照:


投稿の URL 構造を変えるには?

参照:


Windowsサーバーで投稿の URL 構造を変えるには?

参照:


テンプレートタグを使用してブログの表示を変えるには?

参照:


すべて のリンクを新しいウィンドウで開くには?

テーマのテンプレート header.php<head> セクション内に次のコードを挿入してください。

<tt><base target="_blank" /></tt>

参照:


RSS フィードに画像を追加するには?

参照:


コメントをオフにするとブログに表示される「コメントは受け付けていません。」を削除するには?

テーマによっては同様の意図の異なるメッセージが表示されるかもしれません。このメッセージの削除の方法はテーマで異なります。テキストは恐らくテーマの comments.php ファイル内で表示されています。PHP 関数がメッセージを表示している場合は、「/*」と「*/」で関数呼び出し部をコメントアウトしてください。

<?php /* _e( 'Comments are closed.' , 'twentytwelve' ); */ ?>

単純に HTML でメッセージを記述している場合は、「<!-- 」と「 -->」で HTML タグ全体をコメントアウトしてください。コメント記号とHTML タグの間には空白を置いてください。

<!-- <p class="nocomments">Comments are closed.</p> -->

メッセージを再表示する場合は、単純にコメント記号を削除してください。


パスワードで保護された投稿の表示を変更するには?

'the_title' フィルター と 'the_password_form' フィルターをフックしてください。フィルター関数はフィルター名が示すとおりの場所に渡されます。str_replace() 関数を使用して既存のメッセージを探し、希望の文字列(または空白)で置き換えます。

注意: 'the_title' フィルターは、パスワード保護された投稿だけでなく、すべての単一タイトルで呼び出されます。したがって post_password プロパティの有無を使用して、str_replace() 関数を呼ぶべきか否かを判断する必要があります。

テーマによってはさらに追加で変更すべき場所があるかもしれません。以下のコード例は Twenty Fifteen で動作します。

add_filter('the_title', 'replace_protected', 10, 2);
function replace_protected( $title, $id ) {
	$post = get_post( $id );
	if ( ! empty( $post->post_password ) ) {
		$title = str_replace('保護中:', '秘密:', $title);
	}
	return $title;
}
add_filter('the_password_form', 'replace_message');
function replace_message( $form ) {
	return str_replace('このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。',
		'パスワードを入力してみて。驚くよ。', $form);
}


コメント内で禁止されている HTML タグを許可するには?

テーマの functions.php またはプラグインでカスタムフィルターを使用してください。

参照 [1]

add_filter('preprocess_comment','fa_allow_tags_in_comments');
 
function fa_allow_tags_in_comments($data) {
	global $allowedtags; 
	$allowedtags['span'] = array('style'=>array());
	$allowedtags['p'] = array();   
	return $data;
}


WordPress に高度な検索機能を追加するには?

参照:

投稿

画像をアップロードして投稿に表示するには?

参照:


ピンバックとは?

参照:


トラックバックとは?

参照:


投稿へのパーマリンクとは?

参照:


デスクトップブログソフトを使うには?

参照:


メールでブログに投稿するには?

参照:


スパム、スパマー、コメント

コメントスパムを止めるには?

参照:


コメントスパムの詳細な情報

参照:


どのスパムワードが必要ですか?

参照:


インポートとエクスポート

大きな WordPress WXR ファイルをインポートするには?

WordPress WXR ファイルは WordPress からエクスポートした XML ファイルです。WordPress WXR ファイルが非常に大きくインポートできない場合、この制限を超えるためにいくつか試すべき方法があります。

  • php.ini を編集する。ただし許可されないホストもあります。
memory_limit = 300M
post_max_size = 200M
upload_max_filesize = 100M
max_execution_time = 600

項目の説明は以下のとおりです。

  • memory_limit: PHP スクリプトが確保できる最大メモリ(バイト数)
  • post_max_size: POSTデータに許可される最大サイズ
  • upload_max_filesize: アップロードされるファイルの最大サイズ
  • max_execution_time: スクリプトがパーサにより強制終了されるまでに許容される最大の 時間(秒単位)

注意: memory_limit は post_max_size よりも大きく設定する必要があり、post_max_size は upload_max_filesize より大きく設定する必要があります。

  • .htaccess を編集する。ただし許可されないホストもあります。
php_value memory_limit 64M
php_value upload_max_filesize 100M
php_value post_max_size 100M
  • wp-config.php を編集する。
define('WP_MEMORY_LIMIT', '64MB');

PHP への割り当てメモリ増加」も参照してください。

  • マルチサイト環境では、次の設定も構成してください。
  1. ネットワーク管理ダッシュボードで「設定」>「ネットワークの設定」を選択し、「サイトのアップロード容量」と「アップロードファイルの最大サイズ」の値を増やしてください。
  2. ネットワーク管理ダッシュボードで「サイト」>「すべてのサイト」を選択し、構成するサイト名の下の「編集」リンクをクリックしてください。「設定」タブをクリックし、「サイトのアップロード領域のクォータ」の値を増やすか、空白にしてネットワークの初期値を使用します。
  • ファイルを圧縮する。ホスティングサービスの中には、gzip されたファイルをバックグラウンドで自動で解凍するものもあります。WordPress から見た場合に違いはなく、最大アップロードサイズの制限を下回るようにファイルを小さくできます。
  1. Windows では 7Zip を使用して WXR ファイルから gz 圧縮ファイルを作成してください。
  2. Linux では gzip コマンドラインを使用してください。
  3. アップロード前に、圧縮したファイルに拡張子「.gz」が付いていることを確認してください。しばしばこれは必須条件となります。
  4. ただしこの方法はホスティング構成に非常に依存しているため、動作の保証はありません。失敗した場合は別の方法を試してください。
  • WordPress WXR ファイルを投稿間で小さく分割し、各ファイルにヘッダーとフッターを付ける。
1. すべてのファイルにヘッダーを置きます。
<rss version="2.0"
	xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:wp="http://wordpress.org/export/1.2/"
>
<channel>
以下、category、tags など、最初の <item> の前まですべての情報を含めてください。
2. すべてのファイルにフッターを置きます。
</channel>
</rss>
3. 間に <item> で始まり </item> で終わる投稿を挿入していきます。このとき XML ファイルが 2MB を超えないように注意してください。すぐに慣れると思います。
4. 新しい XML をインポートする前に、必ずインポート先のブログのデータベースをバックアップしてください。インポート先のブログをエクスポートしておくのも良い習慣です。

参照:

WXR 分割ユーティリティ:


他の WordPress ブログからブログをインポートするには?

参照:


FAQ へ戻る

最新英語版: WordPress Codex » FAQ_Working_with_WordPress最新版との差分