フォノクラフト株式会社:作業メモや備忘録など » Plugins http://121.50.42.205/note 作業メモや備忘録など... Fri, 05 Jul 2013 05:17:27 +0000 ja hourly 1 http://wordpress.org/?v=3.1.3 [wp] アーカイブのリンクを特定のカテゴリで年別、さらに件数も出力させる。 http://121.50.42.205/note/wp-%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%81%ae%e3%83%aa%e3%83%b3%e3%82%af%e3%82%92%e5%b9%b4%e5%88%a5%e3%81%a7%e4%bb%b6%e6%95%b0%e3%82%82%e5%87%ba%e3%81%97%e3%81%a6%e6%95%b4%e5%bd%a2_1666 http://121.50.42.205/note/wp-%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%81%ae%e3%83%aa%e3%83%b3%e3%82%af%e3%82%92%e5%b9%b4%e5%88%a5%e3%81%a7%e4%bb%b6%e6%95%b0%e3%82%82%e5%87%ba%e3%81%97%e3%81%a6%e6%95%b4%e5%bd%a2_1666#comments Tue, 15 Jan 2013 06:19:40 +0000 admin http://phono.co.jp/note/?p=1666

説明

右のキャプチャの様にアーカイブのリンクを特定のカテゴリで年別で出力、さらに「1月、2月、3月….」は「January、February、March….」と変換して投稿件数も出力させるようにしてみます。
※本来 /wp-content/themes/○○○○/functions.php に追記してテンプレート側で呼び出すのが正解ですが、
 面倒なのでテンプレートファイルに直書きします。
 ですが、何ファイルにも渡って記述する際にはfunctions.phpにいれましょう。

ついでに、プラグイン『Archives for a category』を使って
wp_get_archivesの中で「cat=37」(カテゴリID37の投稿記事のみ)を使えるようにもしてみます。

このような出力実装はプラグインのみで対応できるものもありますが、直書きしたスクリプトで対応した方が表示方法のカスタマイズがし易いので、現時点ではこのやり方がベターな気がしています。(ベストではないです。)

実装

プラグインのインストール

特定のカテゴリの投稿だけ抽出したい場合にはプラグイン『Archives for a category』を使います。

  • Archives for a category
    カテゴリー別に月別アーカイブを表示できるwp_get_archivesに特定のカテゴリIDを指定出来るようになるプラグインで、
    例えば <?php wp_get_archives(‘format=option&cat=1′); ?> の様にカテゴリが指定出来るようになります。

 

テンプレートファイルの編集

  • 以下のアーカイブ関連ファイル
    /wp-content/themes/○○○○/archive.php
    /wp-content/themes/○○○○/category.php
    /wp-content/themes/○○○○/single.php
  • または、一括で
    /wp-content/themes/○○○○/sidebar.php
    だけ、とか。

で、散らかしっぱなしのソース…

<div class="archive-area">
<p class="b15">Archives</p>
	<?php 
	//プラグイン『Archives for a category』を使ってwp_get_archivesの中で「cat=37」を使えるようにする。
	//→ http://kwebble.com/blog/2007_08_15/archives_for_a_category
	
	//参考:http://d.hatena.ne.jp/fujimori1981/20100313/1268419807
	//1. 年を抽出して配列に格納
	$archives_year = strip_tags(wp_get_archives('cat=37&type=yearly&show_count=0&format=custom&echo=0')); //wp_get_archivesに対してタグを除去して年数のみ抽出。
	$archives_year_array = split("\n",$archives_year); //年数ごとに配列$archives_year_arrayに格納
	array_pop($archives_year_array);//配列内の最後に空の配列ができてるので削除。
	
	//2. アーカイブ一覧を取得して配列に格納
	$archives = wp_get_archives('cat=37&type=monthly&show_post_count=1&use_desc_for_title=0&echo=0'); //月別アーカイブを取得。
	$archives_array = split("\n",$archives); //同様に改行ごとに配列に格納。
	
	foreach ($archives_year_array as $year_value){ //1で抽出した年数分繰り返し
		echo "<ul class='clearfix'>\n";
		echo "<li class='year'>".ltrim($year_value)."</li>\n"; //<h4>で年を表示
		
		foreach ( $archives_array as $archives_value) { //月別アーカイブ数分繰り返し
			
			if ( intval(strip_tags($archives_value)) == intval($year_value) ) { //1で取得した年と、2の各月別アーカイブの文字列を比較
				$list = str_replace(intval($year_value)."年","",ltrim($archives_value))."\n";//2の月別アーカイブの各行のhtmlからYYYY年部分を除去して表示。

				//↓タグを強制的に置換
				$list = str_replace('<li>', '<li><p class="month">', $list); 
				$list = str_replace('</a>', '</a></p>', $list); 
				//$list = str_replace('/\' title', '/?lang=en\' title', $list); 
				$list = str_replace('&nbsp;(', '<p class="num">(', $list); 
				$list = str_replace(')', ')</p></li>', $list); 

				//↓月を英字に強制的に置換(以下の置換処理は設定やプラグインで不要になるかも。)
				$list = str_replace('>1月', '>January', $list); 
				$list = str_replace('>2月', '>February', $list); 
				$list = str_replace('>3月', '>March', $list); 
				$list = str_replace('>4月', '>April', $list); 
				$list = str_replace('>5月', '>May', $list); 
				$list = str_replace('>6月', '>June', $list); 
				$list = str_replace('>7月', '>July', $list); 
				$list = str_replace('>8月', '>August', $list); 
				$list = str_replace('>9月', '>September', $list); 
				$list = str_replace('>10月', '>October', $list); 
				$list = str_replace('>11月', '>November', $list); 
				$list = str_replace('>12月', '>December', $list); 

				//↓で、置換したものを表示
				echo  $list;
				
				//echo $year_value;
				//echo $archives_value;
				array_shift($archives_array); //表示した配列を削除。
			}
			
		}
		echo "</ul>\n";	
	}
	
	?>
</div>

 

CSS

数値などは適所変更する

#archive p.b15{
	font-size: 14px;
	line-height: 160%;
	font-family:'HelveticaNeueW01-75Bold';
	font-weight: normal;
	color: #000;
}

#archive .archive-area{
	width: 231px;
	padding: 25px 0 ;
}
#archive .archive-area ul{
	list-style-type: none;
}
#archive .archive-area ul li{
	width: 100px;
	font-size: 13px;
	line-height: 140%;
	color: #696666;
}
#archive .archive-area ul li a{
	color: #696666;
}
#archive .archive-area ul li a:hover{
	color: #000;
	text-decoration: none;
}
#archive .archive-area ul li p.month{
	width: 80px;
	float: left;
}
#archive .archive-area ul li p.num{
	width: 20px;
	color: #696666;
	float: right;
}
#archive .archive-area ul li.year{
	font-size: 13px;
	line-height: 160%;
	font-family:'HelveticaNeueW01-65Medi';
	font-weight: normal;
	color: #000;
	margin-top: 15px;
	margin-bottom: 3px;
}
]]>
http://121.50.42.205/note/wp-%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%81%ae%e3%83%aa%e3%83%b3%e3%82%af%e3%82%92%e5%b9%b4%e5%88%a5%e3%81%a7%e4%bb%b6%e6%95%b0%e3%82%82%e5%87%ba%e3%81%97%e3%81%a6%e6%95%b4%e5%bd%a2_1666/feed 0
[wp] WordPressを入れたら最初に行うこと。(再び) http://121.50.42.205/note/wp-%e6%83%85%e5%a0%b1%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%83%a1%e3%83%a2%ef%bc%88%e5%86%8d%e3%81%b3%ef%bc%89_1634 http://121.50.42.205/note/wp-%e6%83%85%e5%a0%b1%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%83%a1%e3%83%a2%ef%bc%88%e5%86%8d%e3%81%b3%ef%bc%89_1634#comments Wed, 09 Jan 2013 09:00:07 +0000 admin http://phono.co.jp/note/?p=1634

wordpressを入れたら最初に行うこと。

プラグイン関連

管理設定もの

  1. Magic Fields / Magic Fields2
    カスタムフォールドを自由自在に
    (新バージョンの「Magic Fields2」にするか否かはWPのバージョンとの兼ね合いで判断)
  2. WP Custom Search
    カスタムフィールド単位で絞り込み検索を実現させる
    (Magic Fieldsと併用すると最強)
  3. User Role Editor
    ユーザ毎に操作権限を管理
    (更新担当者にはadminでログインさせないのが鉄則)
  4. WP No Category Base
    カテゴリーアーカイブのパーマリンクに/category/と入ってしまうのを強制排除
  5. Duplicate Post
    投稿をコピーする
    (ダミーデータを作成する際に便利)
  6. Peter’s Login Redirect
    ユーザや権限によって管理画面のログイン直後に表示させる画面を変更する
    (ダッシュボードは全く使わないので)
  7. Post Category Height Edit
    投稿画面のカテゴリ枠を可変させることが出来るようになる
  8. disable-wordpress-core-update
    「WordPress x.x が利用可能です ! 更新してください。」のメッセージを非表示にする
    (プラグイン等の不具合を検証してからアップデートしたい為、またクライアントがアップデートしてしまうのを防ぐ為)
  9. Revision Control
    リビジョンの保存数を指定出来るプラグイン、保存しない事も可能
  10. Better Delete Revision
    初期段階で上記「Revision Control」の導入〜設定しておらず、既に運用中でデータが肥大化して来た際には一度リビジョンを削除してしまうのも有効。「Better Delete Revision」で一度リヴィジョンを削除してしまえば後は「Revision Control」に任せる事が出来るのでこのプラグイン自体は停止(または削除)してしまってもOKです。

テンプレートタグの拡張もの

  1. wp-pagenavi
    Googleのようなページ送りにする
    (若干古いがこれが一番使いやすい気がしている)
  2. Archives for a category
    カテゴリー別に月別アーカイブを表示できるプラグインで、
    例えば <?php wp_get_archives(‘format=option&cat=1′); ?> の様にカテゴリが指定出来るようになる。
  3. Category Order and Taxonomy Terms Order
    カテゴリの順序入れ替えが必要であれば。

 

カテゴリの並び順を固定する

管理画面の投稿編集で選択するカテゴリの並び順を調整する(チャックを入れたものが勝手に上にソートされるのを防ぐ)

/wp-admin/includes/meta-boxes.php の343行目付近

<?php wp_terms_checklist($post->ID, array( 'taxonomy' => $taxonomy, 'popular_cats' => $popular_ids ) ) ?>
<?php wp_terms_checklist($post->ID, array( 'taxonomy' => $taxonomy, 'popular_cats' => $popular_ids, 'checked_ontop' => false ) ) ?>

 

管理画面の不要なメニューなどを削除したり

/wp-content/themes/○○○○/functions.php の末尾に下記を追記し、各所調整する。

//管理画面:ログイン画面のロゴ
function custom_login_logo() {
 echo '<style type="text/css">h1 a {background: url('.get_bloginfo('template_directory').'/images/logo-login.png) 50% 50% no-repeat !important; }</style>';
 }
add_action('login_head', 'custom_login_logo');

// フッターWordPressリンクを非表示に
function custom_admin_footer() {
 //echo '<a href="mailto:xxx@zzz">お問い合わせ</a>';
 echo '';
 }
add_filter('admin_footer_text', 'custom_admin_footer');

// 管理バーの項目を非表示
    function remove_bar_menus( $wp_admin_bar ) {
    $wp_admin_bar->remove_menu('wp-logo'); // W ロゴ
    $wp_admin_bar->remove_menu('view'); // 新規投稿
    //$wp_admin_bar->remove_menu('site-name'); // サイト名
    $wp_admin_bar->remove_menu('view-site'); // サイト名 -> サイトを表示
    $wp_admin_bar->remove_menu('comments'); // コメント
    $wp_admin_bar->remove_menu('new-content'); // 新規
    $wp_admin_bar->remove_menu('new-post'); // 新規 -> 投稿
    $wp_admin_bar->remove_menu('new-media'); // 新規 -> メディア
    $wp_admin_bar->remove_menu('new-link'); // 新規 -> リンク
    $wp_admin_bar->remove_menu('new-page'); // 新規 -> 固定ページ
    $wp_admin_bar->remove_menu('new-user'); // 新規 -> ユーザー
    $wp_admin_bar->remove_menu('updates'); // 更新
    $wp_admin_bar->remove_menu('my-account'); // マイアカウント
    $wp_admin_bar->remove_menu('user-info'); // マイアカウント -> プロフィール
    $wp_admin_bar->remove_menu('edit-profile'); // マイアカウント -> プロフィール編集
    //$wp_admin_bar->remove_menu('logout'); // マイアカウント -> ログアウト
    }
    add_action('admin_bar_menu', 'remove_bar_menus', 201);

// 管理バーのヘルプメニューを非表示にする
function my_admin_head(){
 echo '<style type="text/css">#contextual-help-link-wrap{display:none;}</style>';
 }
add_action('admin_head', 'my_admin_head');

// 管理バーにログアウトを追加
function add_new_item_in_admin_bar() {
 global $wp_admin_bar;
 $wp_admin_bar->add_menu(array(
 'id' => 'new_item_in_admin_bar',
 'title' => __('ログアウト'),
 'href' => wp_logout_url()
 ));
 }
add_action('wp_before_admin_bar_render', 'add_new_item_in_admin_bar');

//左メニューで不要な項目の削除(表示したいものだけコメントアウト)
add_action( 'admin_menu', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
	remove_menu_page('index.php'); //ダッシュボード
	remove_menu_page('edit.php'); //投稿
		remove_submenu_page( 'edit.php', 'edit.php' );	//サブメニュー:投稿一覧
		remove_submenu_page( 'edit.php', 'post-new.php' );	//サブメニュー:新規追加
		//remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=category' );	//サブメニュー:カテゴリー
		remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=post_tag' );	//サブメニュー:投稿タグ

	remove_menu_page('upload.php'); //メディア
	remove_menu_page('link-manager.php'); //リンク
	//remove_menu_page('edit.php?post_type=page'); //固定ページ
	remove_menu_page('edit-comments.php'); //コメント
	remove_menu_page('themes.php'); //外観
	remove_menu_page('plugins.php'); //プラグイン
	remove_menu_page('users.php'); //ユーザー
	remove_menu_page('tools.php'); //ツール
	//remove_menu_page('options-general.php'); //設定
	remove_menu_page('admin.php?page=MagicFieldsMenu'); //Magic Fields(だめだ・・・できない)

		// Add top menu
		//add_menu_page(__('Magic Fields > Manage',$mf_domain), __('Magic Fields',$mf_domain), 'edit_pages', 'MagicFieldsMenu', $panelsAndModulesFunctions->panelsMenuFunction, plugins_url(MF_PLUGIN_DIR.'/images/wand-hat.png'));
		// Add Magic Fields submenus
		//add_submenu_page('MagicFieldsMenu', __('Write Panels',$mf_domain), __('Write Panels',$mf_domain), 'edit_pages','MagicFieldsMenu', $panelsAndModulesFunctions->panelsMenuFunction);		

}

//左メニューに「カテゴリ操作」を追加
//参考:http://wald-grun.biz/blog/wp/4564/
function test_menu_page() {
    $siteurl = 'options-general.php?page=custom-field-template.php';
}
function category_menu() {
    add_menu_page( 'カテゴリ操作', 'カテゴリ操作', 'read', 'edit-tags.php?taxonomy=category');
    //add_menu_page( '固定ページ', '固定ページ', 'read', 'edit.php?post_type=page');
}
add_action( 'admin_menu', 'category_menu' );
]]>
http://121.50.42.205/note/wp-%e6%83%85%e5%a0%b1%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%83%a1%e3%83%a2%ef%bc%88%e5%86%8d%e3%81%b3%ef%bc%89_1634/feed 0
[wp] プラグイン「wp-pagenavi」のリンクにアンカーをつける http://121.50.42.205/note/wp-%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%80%8cwp-pagenavi%e3%80%8d%e3%81%ae%e3%83%aa%e3%83%b3%e3%82%af%e3%81%ab%e3%82%a2%e3%83%b3%e3%82%ab%e3%83%bc%e3%82%92%e3%81%a4%e3%81%91%e3%82%8b_1513 http://121.50.42.205/note/wp-%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%80%8cwp-pagenavi%e3%80%8d%e3%81%ae%e3%83%aa%e3%83%b3%e3%82%af%e3%81%ab%e3%82%a2%e3%83%b3%e3%82%ab%e3%83%bc%e3%82%92%e3%81%a4%e3%81%91%e3%82%8b_1513#comments Mon, 04 Jun 2012 16:12:35 +0000 admin http://phono.co.jp/note/?p=1513 対象ファイル

〜/plugins/wp-pagenavi/wp-pagenavi.php

変更箇所

#postという名でアンカーをつけます。

170行目付近

return "<a href='" . esc_url(get_pagenum_link($page)) . "' class='$class'>$text</a>";

return "<a href='" . esc_url(get_pagenum_link($page)) .'#post'. "' class='$class'>$text</a>";
]]>
http://121.50.42.205/note/wp-%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%80%8cwp-pagenavi%e3%80%8d%e3%81%ae%e3%83%aa%e3%83%b3%e3%82%af%e3%81%ab%e3%82%a2%e3%83%b3%e3%82%ab%e3%83%bc%e3%82%92%e3%81%a4%e3%81%91%e3%82%8b_1513/feed 0
[wp] プラグイン Contact Form 7 実践メモ http://121.50.42.205/note/wp-%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3-contact-form-7-%e5%ae%9f%e8%b7%b5_1449 http://121.50.42.205/note/wp-%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3-contact-form-7-%e5%ae%9f%e8%b7%b5_1449#comments Thu, 17 May 2012 14:27:16 +0000 admin http://phono.co.jp/note/?p=1449

出来上がりのイメージ

右図のようになります。

Contact Form7の使い方はコチラに詳しく掲載されています。

(1) プラグインの準備

Contact Form 7
Really Simple CAPTCHA
 (CAPTCHAを使う場合に必要)

この2つをインストールします。

(2) Contact Form 7 の設定例

<p class="ttl">お名前(ハンドルネーム可)</p><p class="fm">[text* your-name 30/] </p>
<p class="ttl">写真<span>(2MBまで)</span></p><p class="fm">[file pic limit:2mb filetypes:jpg|gif|png 25/]</p>
<p class="ttl">性別</p><p class="fm">[radio sex use_label_element "男性" "女性"]</p>
<p class="ttl">年齢</p><p class="fm">[radio age use_label_element "10代" "20代" "30代" "40代" "50代 以上"]</p>
<p class="ttl">雰囲気<span>(5段階評価)</span></p><p class="fm">[radio funiki use_label_element "1" "2" "3" "4" "5"]</p>
<p class="ttl">接客サービス<span>(5段階評価)</span></p><p class="fm">[radio service use_label_element "1" "2" "3" "4" "5"]</p>
<p class="ttl">技術・仕上がり<span>(5段階評価)</span></p><p class="fm">[radio gijyutsu use_label_element "1" "2" "3" "4" "5"]</p>
<p class="ttl">メニュー・料金<span>(5段階評価)</span></p><p class="fm">[radio menuprice use_label_element "1" "2" "3" "4" "5"]</p>
<p class="ttl">総合<span>(5段階評価)</span></p><p class="fm">[radio rev use_label_element "1" "2" "3" "4" "5"]</p>
<p class="ttl">口コミ</p><p class="fm">[textarea* kuchikomitxt 30x10] </p>
<p class="ttl">確認コード</p><p class="fm">[captchac captcha size:m] → [captchar captcha 5/4]</p>
<p class="send">[submit "送信する"]</p>

(3) Contact Form 7 で作成したフォームをテンプレートに貼付ける

通常ならば『[contact-form-7 id="○○○" title="コンタクトフォーム○○○"]』等という
貼付けタグを固定ページや投稿記事にペーストして使いますが、
テンプレートに貼付けたい場合は『do_shortcode();』関数を使います。

■固定ページや投稿に貼付ける場合

[contact-form-7 id="○○○" title="コンタクトフォーム○○○"]

■テンプレートに貼付ける場合

<?php echo do_shortcode('[contact-form-7 id="○○○" title="コンタクトフォーム ○○○"]'); ?>

実際にはこんな感じで

cssも入れちゃってますが・・・

		<!-- フォーム --> 
		<style type="text/css"><!-- 
		#contact-form {
			width:278px;
			border:1px solid #ccc;
			padding:10px;
			background:#F9F0F0;
			}
		#contact-form p.ttl{
			padding:5px 0;
			font-weight:bold;
			}
		#contact-form p.ttl span{
			font-size:10px;
			font-weight:normal;
			}
		#contact-form p.fm{
			padding:5px 0 5px 0px;
			border-bottom:1px dotted #ccc;
			}
		#contact-form p.send{
			padding:10px 0 0 0;
			text-align:center;
			}
		#contact-form p.fm label{
			padding-left:10px;
			}
		.wpcf7-validation-errors {background:#fff;padding:5px; color:#993300;margin-top:10px;}
		.wpcf7-mail-sent-ok {background:#fff;padding:5px; color:#003399;margin-top:10px;}
		.wpcf7-not-valid-tip-no-ajax {padding:5px; color:#993300;margin-top:10px;clear:both;}
		 --></style>
		<div id="contact-form">
		<?php echo do_shortcode('[contact-form-7 id="719" title="コンタクトフォーム 1"]'); ?>
		</div>
		<!-- /フォーム --> 

]]>
http://121.50.42.205/note/wp-%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3-contact-form-7-%e5%ae%9f%e8%b7%b5_1449/feed 0
[wp] wordpressを丸ごと移管/移行させる手順 http://121.50.42.205/note/wp-wordpress%e3%82%92%e4%b8%b8%e3%81%94%e3%81%a8%e7%a7%bb%e7%ae%a1%e3%81%95%e3%81%9b%e3%82%8b%e6%89%8b%e9%a0%86_1256 http://121.50.42.205/note/wp-wordpress%e3%82%92%e4%b8%b8%e3%81%94%e3%81%a8%e7%a7%bb%e7%ae%a1%e3%81%95%e3%81%9b%e3%82%8b%e6%89%8b%e9%a0%86_1256#comments Thu, 19 Apr 2012 06:29:08 +0000 admin http://phono.co.jp/note/?p=1256 お引越ししないといけなくなりまして・・・

とある理由でwordpressを丸ごと別のサーバに移管したり乗り換えたり、つまりお引越をさせないといけない場面は多々あります。既に稼働しているwordpressをスムーズに移行させるには下記の手順がベストです。カテゴリやプラグイン等々の再設定も行う必要ないので楽に移行できます。

wordpress移行前の準備、旧サーバから必要なファイルを揃える

1:旧サーバデータベースを丸ごとエクスポートする

phpMyAdmin等からwordpressが入ってるDBを丸ごとダンプしておく。
(※右図はphpMyAdminのエクスポート画面)

2:旧サーバからファイル一式をダウンロードする

FTP等でwordpress関連のファイル全てをダウンロードしておく。

新サーバにwordpress移行する手順

3:新サーバにファイルを丸ごとアップロードする

旧サーバからダウンロードしたwordpress関連のファイル一式を新サーバの任意のディレクトリにアップロードし、必要に応じて /wp-contents/uploads/ や /wp-contents/cache/ などパーミッションの変更が必要なディレクトリは777等に変更する。
(サーバによって数値は変わります)。

4:MySQLデータベースを作成する

新サーバで新規にMySQLデータベースを作成する。

6:wordpressの設定ファイルの必要な情報を変更する

/wp-config.php をDB作成時に設定したDBネームやパスワード、ホスト等に変更します。(下記の箇所)

/** WordPress のデータベース名 */
define('DB_NAME', '○○○○');
/** MySQL のユーザー名 */
define('DB_USER', '○○○○');
/** MySQL のパスワード */
define('DB_PASSWORD', '○○○○');
/** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */
define('DB_HOST', '○○○○');

7:wordpress管理画面に接続出来ているかを確認する

ブラウザからwordpressのトップページを参照し、インストール画面が出てくれば接続は出来ています。

8:旧サーバのDBからエクスポート(ダンプ)したデータを丸ごとインポートする

インポートにはphpMyAdminやNavicat等のツールを使うと便利。
(右図はphpMyAdminのインポート画面)

9:wordpress管理画面のログインID/パスワードを変更する

インポート出来たら『wp_user』テーブルのadmin権限のパスワードを変更します。(右図参照)

変更するカラムはadmin権限のユーザで下記の2カラムです。
『user_pass』カラム を $P$B9f/Y7GWy4FzX5uuccAbvJxWDGVdHl0に変更。
(パスワード adminadminでログイン出来る様になります)
『user_email』カラムを 任意のメールアドレスに変更。

詳しくは割愛しますが $P$B9f/Y7GWy4FzX5uuccAbvJxWDGVdHl0 という謎の文字列でパスワード adminadmin でログイン出来る様になっています。

この変更は前任者と管理が変わる場合は特にに重要になります。

10:wordpressのURLを変更する

『wp_options』テーブルの『option_name』→『siteurl」に記載されているURLを新サーバのURLに変更します。
テスト段階ですのでテスト専用のURLがあると思います。それを入れておきますが、新サーバにDNSを切り替えた際にはここを再度変更します。

11:wordpressトップページを参照して無事に旧サーバと同じ状態で表示されているか確認する

ブラウザからwordpressのトップページを参照して確認します。
この段階ではインストール画面が表示されたり、エラーが出ていたりする場合はDBの見直しが必要です。

12:wordpress管理画面にログイン出来るか確認する

ログインID『admin』、パスワード『adminadmin』でログイン出来るか確認する。

13:投稿出来るか確認する

管理画面にログインできたら、特に画像のアップロードなど確認しましょう。

ついでにadmin権限のパスワードが『adminadmin』になっているので変更しておきましょう。

基本的には以上ですが下記に補足を。。

記事内のリンクURLを直す

記事内の画像リンクが絶対パスで指定されてい場合が多くあるので右図のプラグイン「Search Regex」を使って一括置換してあげましょう。

プラグイン:Search Regex

※「Regex」にチェックを入れる事で正規表現が使えます。

実作業ではwordpress全データをDBにインポートする前に全置換してしまう方が早いですが、こういったメンテナンス系のプラグインを使うというのも一つの手もはあります。

またはSQL文を使って置換する事も出来ます。

SQL文

UPDATE `テーブル名` SET フィールド名A=REPLACE (フィールド名A,"置換前の文字列","置換後の文字列");

記述例

・テーブル名:dtb_customer
・フィールド名:uname
・置換前の文字列:山田
・置換後の文字列:鈴木

UPDATE `dtb_customer` SET uname=REPLACE (uname,"山田","鈴木");

]]>
http://121.50.42.205/note/wp-wordpress%e3%82%92%e4%b8%b8%e3%81%94%e3%81%a8%e7%a7%bb%e7%ae%a1%e3%81%95%e3%81%9b%e3%82%8b%e6%89%8b%e9%a0%86_1256/feed 0
[wp] query_postsで表示カテゴリを指定してもページ送りをしっかりと動作させる http://121.50.42.205/note/wp-%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e3%82%92%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%a6%e3%82%82%e3%83%9a%e3%83%bc%e3%82%b8%e9%80%81%e3%82%8a%e3%82%92%e3%81%97%e3%81%a3%e3%81%8b%e3%82%8a%e3%81%a8_1167 http://121.50.42.205/note/wp-%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e3%82%92%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%a6%e3%82%82%e3%83%9a%e3%83%bc%e3%82%b8%e9%80%81%e3%82%8a%e3%82%92%e3%81%97%e3%81%a3%e3%81%8b%e3%82%8a%e3%81%a8_1167#comments Mon, 19 Mar 2012 08:45:45 +0000 admin http://phono.co.jp/note/?p=1167

query_postsのcatでカテゴリIDを指定して記事の一覧を取得している場合に、アーカイブやカテゴリーテンプレートでページ送り(ページネーション)プラグイン『wp_pagenavi』を使っていると、2ページ目以降も1ページ目と同じ記事が表示されることがある。

そんな時は、query_postsに$pagedをいれるとちゃんと動作するようになる。

<?php
query_posts($query_string);//他のquery_postsが継承されてしまう為、カテゴリ指定をデフォルトに戻す
query_posts('cat=1,2,3,4,5,7,8,10,11,12,13,14,16&paged='.$paged);//表示したいカテゴリIDを列挙
?>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>


〜ループ内容〜


<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>

<!-- ページ送り --> 
<div class="navigation">
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
</div>
<!-- /ページ送り --> 

<?php
//最後に「query_posts」をリセット
wp_reset_query();
?>

参考:http://ja.forums.wordpress.org/topic/127?replies=5

]]>
http://121.50.42.205/note/wp-%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e3%82%92%e6%8c%87%e5%ae%9a%e3%81%97%e3%81%a6%e3%82%82%e3%83%9a%e3%83%bc%e3%82%b8%e9%80%81%e3%82%8a%e3%82%92%e3%81%97%e3%81%a3%e3%81%8b%e3%82%8a%e3%81%a8_1167/feed 0
[WP] Magic Fieldsでグループを「duplicates」にした場合の表示方法 http://121.50.42.205/note/wp-magic-fields%e3%81%a7%e3%82%b0%e3%83%ab%e3%83%bc%e3%83%97%e3%82%92%e3%80%8cduplicates%e3%80%8d%e3%81%ab%e3%81%97%e3%81%9f%e5%a0%b4%e5%90%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e6%96%b9%e6%b3%95_810 http://121.50.42.205/note/wp-magic-fields%e3%81%a7%e3%82%b0%e3%83%ab%e3%83%bc%e3%83%97%e3%82%92%e3%80%8cduplicates%e3%80%8d%e3%81%ab%e3%81%97%e3%81%9f%e5%a0%b4%e5%90%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e6%96%b9%e6%b3%95_810#comments Mon, 28 Nov 2011 18:15:41 +0000 admin http://phono.co.jp/note/?p=810 たまにハマるので

Magic Fieldsでグループを「duplicates」(コピー出来る状態)にした場合の表示方法をメモ

まず、wordpressとMagic Fieldsのバージョンの相性によって「Add duplicates」ボタンが反応しなかったり、スクリプトエラーが生じたりいまいち精度が安定しないので注意が必要だが、それを踏まえつつ…..。

こちらのマニュアル通りに行うとサーバによっては
Warning: Invalid argument supplied for foreach() in…
とforeachでエラーになってしまうので、下記の様に『if (is_array($myEvent)) {〜}』で括ってあげる

<?php
$myEvent = get_group('グループ名');
if (is_array($myEvent)) {
	foreach($myEvent as $event){ ?>
		<?php echo $event['フィールド名(01)'][1]; ?>
		<?php echo $event['フィールド名(02)'][1]; ?>
		<a href="<?php echo get('フィールド名(写真)'); ?>"><?php echo get_image('フィールド名(写真)'); ?></a>
	<?php } ?>
<?php }else{ ?>
<?php } ?>
]]>
http://121.50.42.205/note/wp-magic-fields%e3%81%a7%e3%82%b0%e3%83%ab%e3%83%bc%e3%83%97%e3%82%92%e3%80%8cduplicates%e3%80%8d%e3%81%ab%e3%81%97%e3%81%9f%e5%a0%b4%e5%90%88%e3%81%ae%e8%a1%a8%e7%a4%ba%e6%96%b9%e6%b3%95_810/feed 0
[WP] 絶対に入れるプラグイン http://121.50.42.205/note/wp-%e7%b5%b6%e5%af%be%e3%81%ab%e5%85%a5%e3%82%8c%e3%82%8b%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3_700 http://121.50.42.205/note/wp-%e7%b5%b6%e5%af%be%e3%81%ab%e5%85%a5%e3%82%8c%e3%82%8b%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3_700#comments Thu, 10 Nov 2011 12:21:55 +0000 admin http://phono.co.jp/note/?p=700

個人的に「これだけは外せない」というプラグイン

  1. Magic Fields / Magic Fields2
    カスタムフォールドを自由自在に
    (新バージョンの「Magic Fields2」にするか否かはWPのバージョンとの兼ね合いで判断)
  2. WP Custom Search
    カスタムフィールド単位で絞り込み検索を実現させる
    (Magic Fieldsと併用すると最強)
  3. User Role Editor
    ユーザ毎に操作権限を管理
    (更新担当者にはadminでログインさせないのが鉄則)
  4. WP No Category Base
    カテゴリーアーカイブのパーマリンクに/category/と入ってしまうのを強制排除
  5. wp-pagenavi
    Googleのようなページ送りにする
    (若干古いがこれが一番使いやすい気がしている)
  6. Duplicate Post
    投稿をコピーする
    (ダミーデータを作成する際に便利)
  7. Peter’s Login Redirect
    ユーザや権限によって管理画面のログイン直後に表示させる画面を変更する
    (ダッシュボードは全く使わないので)
  8. Post Category Height Edit
    投稿画面のカテゴリ枠を可変させることが出来るようになる
  9. disable-wordpress-core-update
    「WordPress x.x が利用可能です ! 更新してください。」のメッセージを非表示にする
    (プラグイン等の不具合を検証してからアップデートしたい為、またクライアントがアップデートしてしまうのを防ぐ為)

wp-pagenavi 使い方メモ

WPテンプレートのループの下部などにペースト

<div class="navigation" style="margin:0;">
	<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
</div>

CSS

.navigation {
	display: block;
	text-align: center;
	margin-bottom: 30px;
	font-size:12px;
	color:#fff;
	padding-top:10px;
	border-top:1px dotted #ccc;
	}

.wp-pagenavi {
	clear: both;
	}

.wp-pagenavi a, .wp-pagenavi span {
	text-decoration: none;
	border:0px solid #FFFFFF;
	padding: 3px 5px;
	margin: 2px;
	}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
	color:#fff
	font-weight:bold;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	}

.wp-pagenavi span.current {
	border:1px solid #738F3E;
	background:#738F3E;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	}

.wp-pagenavi .pages {
	display: none;
	}
]]>
http://121.50.42.205/note/wp-%e7%b5%b6%e5%af%be%e3%81%ab%e5%85%a5%e3%82%8c%e3%82%8b%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3_700/feed 0
[WP] パーマリンク設定 http://121.50.42.205/note/wp-%e3%83%91%e3%83%bc%e3%83%9e%e3%83%aa%e3%83%b3%e3%82%af%e8%a8%ad%e5%ae%9a_683 http://121.50.42.205/note/wp-%e3%83%91%e3%83%bc%e3%83%9e%e3%83%aa%e3%83%b3%e3%82%af%e8%a8%ad%e5%ae%9a_683#comments Thu, 10 Nov 2011 11:47:26 +0000 admin http://phono.co.jp/note/?p=683

よく使う設定をメモ

今更ではあるが、コピペ用としてメモ

プラグイン「WP No Category Base」をインストールしてから下記を必要に応じて設定する。
(※WP No Category Baseはカテゴリーアーカイブのパーマリンクに/category/と入ってしまうのを強制排除するプラグイン)

  • /%category%/%year%/%monthnum%/%post_id%.html
    (http://example.com/カテゴリ名/年/月/投稿ID.html)
  • /%category%/%post_id%.html
    (http://example.com/カテゴリ名/投稿ID.html)
  • /%category%/%post_id%/
    (http://example.com/カテゴリ名/投稿ID/)
]]>
http://121.50.42.205/note/wp-%e3%83%91%e3%83%bc%e3%83%9e%e3%83%aa%e3%83%b3%e3%82%af%e8%a8%ad%e5%ae%9a_683/feed 0
[WP] Magic fieldsで画像がアップ出来ない原因と条件 http://121.50.42.205/note/wp-magic-fields%e3%81%a7%e7%94%bb%e5%83%8f%e3%81%8c%e3%82%a2%e3%83%83%e3%83%97%e5%87%ba%e6%9d%a5%e3%81%aa%e3%81%84_576 http://121.50.42.205/note/wp-magic-fields%e3%81%a7%e7%94%bb%e5%83%8f%e3%81%8c%e3%82%a2%e3%83%83%e3%83%97%e5%87%ba%e6%9d%a5%e3%81%aa%e3%81%84_576#comments Fri, 21 Oct 2011 05:57:18 +0000 admin http://phono.co.jp/note/?p=576

IE8でのエラー

IE8で画像をアップロードする際に、JavaScriptの処理で止まってしまう。

エラー発生の条件

  • WordPless :3.2.1
  • Magic-fields:1.5.8.1
  • Browser  :IE8(おそらく8以前の下位バージョン含む)

対応

FireFox等を使う。
http://mozilla.jp/firefox/download/

または、IE9が入る環境ならIE9へバージョンを上げる。
http://windows.microsoft.com/ja-JP/internet-explorer/products/ie/home

そものもIEが嫌いなので、対応する気にならず、今回はJSエラーの起こったバージョンのメモということで…。
FireFoxやChomeの方が確実であることは間違いはありません。
※設定項目(設定 » Magic-fields)にある「Use Standard File Uploader (non-ajax)」のチェックを外せばよい気もします。

兎に角言える事、言いたい事、伝えたい事、広めたい事

WordPressではIEは使わない。
IE9といえども同様です。

]]>
http://121.50.42.205/note/wp-magic-fields%e3%81%a7%e7%94%bb%e5%83%8f%e3%81%8c%e3%82%a2%e3%83%83%e3%83%97%e5%87%ba%e6%9d%a5%e3%81%aa%e3%81%84_576/feed 0