カテゴリー別アーカイブ: WPカスタマイズ入門

ページの好きな場所にユーザー情報を表示したいときはwp get current user

こんにちは!

ユーザー情報関連ですが、
今回のテーマは「ページの好きな場所にユーザ―情報を表示したいとき」
です。

では早速説明に入ります。

まず使うコードは
wp get current user

wp_get_current_user()/en

です。
現在日本語のページがないのでこのブログで我慢しましょう。
ちなみに
get_currentuserinfo
はver4.5から非推奨になったので、いつ使えなくなるか分からないので、出来れば使うのはやめておきましょうね!

では設定方法を英語サイトよりコピペして日本語訳したものがこちらになります。

<?php 
$current_user = wp_get_current_user(); 
/** 
* @example Safe usage: $current_user = wp_get_current_user(); 
* if ( !($current_user instanceof WP_User) ) 
*      return; 
*/ 
echo 'ユーザー名: ' . $current_user->user_login . '<br />';
    echo 'メールアドレス: ' . $current_user->user_email . '<br />';
    echo '姓: ' . $current_user->user_firstname . '<br />';
    echo '名: ' . $current_user->user_lastname . '<br />';
    echo '表示名: ' . $current_user->display_name . '<br />';
    echo 'ユーザーID: ' . $current_user->ID . '<br />';
?>

example Safe usageのところはとりあえずなくても動きますので
表示したい行を選んで使ってください。
自分はthe author metaも併用して表示するので次のようになります。。

<?php 
$current_user = wp_get_current_user(); 
the_author_meta( 'フィールド名', $current_user->ID );
?>

ちなみにthe author metaで使えるフィールド名は


user_login
user_pass
user_nicename
user_email
user_url
user_registered
user_activation_key
user_status
display_name
nickname
first_name
last_name
description
jabber
aim
yim
user_level
user_firstname
user_lastname
user_description
rich_editing
comment_shortcuts
admin_color
plugins_per_page
plugins_last_view
ID

他にも自分でfunctions.phpに追加したフィールドがあればそのフィールド名を入れるだけOK!
これで会員制サイトの完成も大分近づきました♪
では!

WORDPRESSのサイト全体にパスワードをかけて非表示にする方法

テスト環境等で、サイトを表示したくないときってありませんか?

そんなときはfunctions.phpに次のコードを入力することでも可能です。

add_action('init', 'access_restriction');
function access_restriction() {
if (is_admin()) {
return;
}
wp_die('表示メッセージ', 'ページタイトル', array('responce' => 404));
}

これで管理画面以外の表示は出来なくなります。
※注意:ログイン画面のURLは必ず保存してからコードを入力してください。

この内容はこちらを参考にしました。

http://bashalog.c-brains.jp/14/02/13-085604.php

バシャログさんありがとうございました!

記事の一覧のn番目にgoogleアドセンスを挿入する

googleアドセンスを記事一覧の途中に挿入したいと思ったことはありませんか?

そんな時は次のようにカスタムをするとokです。

基本ループの最後にコードを付けたし次のようにします。

<?php if(have_posts()): while(have_posts()): the_post(); $loopcounter++; ?>

そしてループ内の表示したい位置に次のコードを張り付けます。

<?php if($loopcounter%n==0) {//このnを好きな数字にするとn番目の記事での表示になります。
print <<<EOD
//(ここにgoogleアドセンスのコードを張り付けます。)
//必要ならば<li></li>等もここに記入
EOD;
} ?>
<?php endwhile; ?>

これで無事広告が表示されます!
是非やってみてください。

検索キーワードにカスタムフィールドの値も使えるようにする。

wordpressでカスタムフィールドを使っているときに、カスタムフィールドの値が検索してもでてこなくて
どうしようか悩んだときのメモ

searcheverythingというプラグインもいいのですが、
それだと、or検索ができなくなってしまいます。

そこで、いろいろと調べていると、こちらのサイト非常に参考になりました!
続・WordPressの検索をカスタマイズしてみた|notnil creation weblog
functions.phpに以下のコードを書き足すだけで悩みは解決です。
細は上のリンクからご確認ください。
Takuro Hishikawaさん、本当にありがとうございました。

function my_search_join( $join, $query ) {
if ( is_admin() || ! $query-&gt;is_main_query() )
return $join;

global $wpdb;
if( $query-&gt;is_search() ) {
$join .= " LEFT JOIN $wpdb-&gt;postmeta ON "
. "$wpdb-&gt;posts.ID = $wpdb-&gt;postmeta.post_id ";
}
return $join;
}
function my_search_where( $where, $query ) {
if ( is_admin() || ! $query-&gt;is_main_query() )
return $where;

global $wpdb;
if ( $query-&gt;is_search() ) {
$where = preg_replace(
"/\(\s*$wpdb-&gt;posts\.post_title\s+LIKE\s*(\'[^\']+\')\s*\)/",
"($wpdb-&gt;posts.post_title LIKE $1) OR ($wpdb-&gt;postmeta.meta_value LIKE $1)",
$where
);
}
return $where;
}
add_filter( 'posts_join', 'my_search_join', 10, 2 );
add_filter( 'posts_where', 'my_search_where', 10, 2 );

ちなみにor検索をするのはfunctions.phpに以下のコードを追加

add_filter('posts_search', function($search) { return str_replace(')) AND ((', ')) OR ((', $search); });

Contact Form7にGoogle Analyticsのコンバージョンタグを設定する方法

Contactform7にoogle Analyticsのコンバージョンタグを設定するときに、
意外とつまづいてしまったのですが、
すごくわかりやすく紹介してくれているサイトを発見しました。

簡単で完璧!WordPressの問い合わせフォームのプラグイン『Contact Form7』にGoogle Analyticsのコンバージョンタグを設定する方法 | レンタルサーバー Staff Blog

このサイトを参考にするとばっちりです!

カスタムフィールドを使いやすくするプラグイン

カスタムフィールドの設定がすこぶる便利なプラグインを見つけました。

それが「Smart Custom Fields

使い方は上記リンクをご覧ください。

自分が躓いた繰り返しのところだけ追記しておきます。

// 特定のグループのデータを取得(例:グループ名が repeat-group の場合)
$repeat_group = SCF::get( 'repeat-group' );
foreach ( $repeat_group as $field_name => $field_value ) {
    // 適当な処理
}

のところですが、
適当な処理のところがわからず、
下記サイトを参考にさせていただきました。

WordPressプラグイン「Smart Custom Fields」/I.M.Design