WordPressの自動バックアップ

BackWPupでamazon s3にバックアップするか
UpdraftPlusで googleドライブにバックアップするのが快適だなと思った。

参考サイト様
GoogleDriveにWordPressのバックアップをサイズを気にせず取っちゃおう!!
http://andask.net/create/backup-wordpress-automatically-to-googledrive.html

WordPressのサムネイル画像をキレイにする方法二種類

WordPressのコアの標準設定を使う場合
function.phpに下記を追加

add_filter( 'jpeg_quality', function( $arg ){ return 100; } );

参考
WordPressにアップロードしてリサイズされたJPG画像の画質を1行のコードで改善させる

もしくは。
ImageMagick Engine
というプラグインを使う。
詳しい説明はコチラ

WordPressで自動で生成されるサムネイル画像の画質(クオリティ)を設定する方法 ImageMagick Engine

Multi Device Switcherとfunction.phpのウィジェット周りの挙動

WordPressの、
Multi Device Switcherとfunction.phpのウィジェット周りの挙動。
PCで使うウィジェットとSPで使うウィジェットを使い分けたい場合。
PC用のウィジェットはPC用のfunction.phpに普通に書けばいいのだけど
SP用のウィジェットはPC用のfunction.phpとSP用のfunction.php、両方に書かないと動作しない。

この実装方法、
重複するソースが重なってしまって美しくはないけど
・ウィジェットにしたい点数が少ない
・PCにウィジェットで実装してる部分が既にある
・管理画面的にはウィジェットページだけで管理できたほうがスマート
という場合には検討してもいいかも。

それ以外の方法なら
・がっつりカスタムフィールド作り込み
・固定ページかカスタム投稿で入力画面をカスタマイズ
・いらない入力欄をあの手この手で不可視化

その際は
Advanced Custom Fields
というプラグインが現状いちばん使い勝手がいいみたいです。

プラグインのウィジェットを管理画面から削除する方法

プラグインフォルダからこの文字列を検索

register

プラグインフォルダからこのような感じの文字列をコピーして
function.phpにペースト
(example_widget_initやexample_Widgetの部分はプラグインによってちがいます)

function example_widget_init() {
    register_widget('example_Widget');
}
add_action('widgets_init', 'example_widget_init');

関数名を適当に書き換える
example_widget_initをexample_widget_init_deleteにする
関数名がかぶらなければどんなものでもいいみたいです。

register_widgetを
unregister_widgetに書き換える

できあがりはこんな感じ。

function example_widget_init_delete() {
    unregister_widget('example_Widget');
}
add_action('widgets_init', 'example_widget_init_delete');

WordPress標準のウィジェットの場合はこちらがとても参考になりました。
お手軽WordPress Tips:管理画面で追加できるウィジェットで不要のコンテンツを削除する
http://kachibito.net/wordpress/remove-admin-widget.html

ページネーションが効かない原因とquery_posts

WordPressのページ送りが個人的に難所だったのでとっても助かった。

諦めないで…!WordPressでページ送りがうまく行かない時の3つの対処法+究極奥義
http://webimemo.com/wordpress/1813

表示設定を1件にする
下記の記述を試してみる

<?php if (have_posts()) : query_posts($query_string . '&posts_per_page=4&cat=3&paged='.$paged); ?>

これで解決したのだけど、
query_postsという記述方法は問題が多いので推奨されていないらしい。
下記がとてもわかり易かった。

query_postsを捨てよ、pre_get_postsを使おう
http://notnil-creative.com/blog/archives/1688

WordPressでページ送りが動かないのはどう考えてもquery_postsが悪い!【pre_get_posts、WordPressループまとめ】
http://notnil-creative.com/blog/archives/1996

基本文法

function 関数( $query ) {
    if ( is_admin() || ! $query->is_main_query() )
        return;
 
    if ( クエリーの改変を適用する条件 ) {
        $query->set( 'パラメーター', '値' );
        return;
    }
}
add_action( 'pre_get_posts', '関数名' );

例えばこんな記述をしてみたり

global $post;
$args = array( 'posts_per_page' => 5, 'cat' => 1 );
$myposts = get_posts( $args );
foreach( $myposts as $post ) {
    setup_postdata($post);
    ?>
    <h1><?php the_title(); ?></h1>
    <?php
}
wp_reset_postdata();

OGP固定ページ出し分け

OGP固定ページ出し分け

<?php if(is_page()): ?>
<meta property="og:title" content="株式会社N2P">
<meta property="og:type" content="article">
<meta property="og:description" content="O2Oを得意とするクリエイティブエージェンシー株式会社NONAME Produce、N2PのWebサイトです。">
<meta property="og:url" content="http://dev.n2p.co.jp">
<meta property="og:image" content="http://dev.n2p.co.jp/wp/wp-content/uploads/2013/10/n2plogp14.png">
<meta property="og:site_name" content="株式会社N2P">
<meta property="og:email" content="info@n2p.co.jp">
<?php endif; ?>

ワードプレスをいじる時のコツ

ワードプレスをいじる時のコツを教えてもらったのでメモメモ。

テーマファイルの読み込み順を参照する

Template_Hierarchy

テーマファイルの読み込み順がわかると、いろいろ便利です。
実は「カスタムタクソノミー」「タグ」「カテゴリ」は内部的には同じ挙動です。

phpをいじる時はphpのエラーを出すようにしておく

.htaccessに以下を記述してるものとしてないもの、二種類用意して切り替えましょう!

php_flag  display_errors On

phpエラーの種類はコチラを見ましょう。
http://liginc.co.jp/programmer/archives/4107

変更はfunction.phpの中で処理

テーマとかプラグインとかいじってしまうと、アップデートした時に変更が消し飛んでしまいますので。。。
function.phpは、テーマ編集→テーマのための関数 (functions.php)にあります。

プラグインを改造した時は??

ダッシュボードに以下の方法でメッセージを表示させてあげてください。

<?php
/* ダッシュボードにメッセージを表示 */
//ライターさんへのお知らせ
function dashboard_widget_1() {
    echo '
ここにライターさんへのお知らせを入れることができます。
';
}
//現在募集中のテーマ
function dashboard_widget_2() {
    echo '
ここに現在募集中のテーマを書く
';
}

function add_dashboard_widgets() {
global $wp_meta_boxes;
//ダッシュボードに表示しない項目を選択
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);//被リンク
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);//現在の状況
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);//プラグイン
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);//最近のコメント
  //unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);//クイック投稿
  //unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);//最近の下書き
  unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);//WordPress開発ブログ
  unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);//WordPressフォーラム

 wp_add_dashboard_widget('dashboard_widget_1', 'ライターさんへのお知らせ', 'dashboard_widget_1');
wp_add_dashboard_widget('dashboard_widget_2', '現在募集中のテーマ', 'dashboard_widget_2');
}
add_action('wp_dashboard_setup', 'add_dashboard_widgets' );
?>

WPのアップロードファイルサイズ上限を上げる

■Step1
info.phpを作る。中身はこれ。

<?php
phpinfo();
?>

■Step2
info.phpにブラウザからアクセスして、これを検索。
user_ini.filename
ここの項目に書かれているファイル名の通りのphp.iniを作る。

■Step3
php.iniを作ってアップ。中身はこれ。適宜変更するといい。

memory_limit = 50M
post_max_size = 40M
upload_max_filesize = 30M;
max_input_time = 60