WordPressでプラグインなどからユーザー登録する方法

ユーザーの登録するときは、 wp_insert_user() 更新するときは、 wp_update_user() を使います。

        $userdata = array(
            'first_name'    =>  '菊池',
            'last_name'    =>  '桃子',
            'user_login'  =>  'momoko',
            'user_email'    =>  'momoko@email.com',
            'role'    =>  'subscriber',
            'user_pass'   =>  'password'
        );
        $user_id = username_exists( 'momoko');
        if ( $user_id ) {
            $userdata['ID'] = $user_id;
            $user_id = wp_update_user( $userdata );
        }else{
            $user_id = wp_insert_user( $userdata );
        }

username_exists('ユーザー名') で、既に登録済みかを確認できます。
存在していたら、そのユーザーID、 存在してなければ、nullになります。

rorleについて、情報収集に手間取ったのでメモ

管理者: administrator
編集者: editor
寄稿者: author
購読者: subscriber

かならず半角小文字でいれる。(下記参考にしたがって、一文字目を大文字にしたらうまく行きませんでした。)
参考:https://codex.wordpress.org/Roles_and_Capabilities#Administrator

WordPressでページの種類ごとに表示する内容を変える

WordPressでのページの種類ごとの分岐

if ( is_single() ) :
elseif ( is_single( 125 ) ) :
elseif ( is_single( 125, 'postslug', '投稿タイトル' ) ) :
//投稿ページ
//引数は、投稿ID、投稿タイトル、slug のいずれかか、それらを含めた配列
elseif (is_page()) :
elseif (is_page( 10 )) :
elseif (is_page( 10, 'pageslug', '固定ページタイトル' )) :
//固定ページ
//引数は、固定ページID、固定ページタイトル、slug のいずれかか、それらを含めた配列
elseif (is_category()) :
elseif (is_category(13)) :
elseif (is_category(array( 125, 'postslug', '投稿タイトル' ))) :
//カテゴリーページ
//引数は、カテゴリーID、カテゴリー名、slug のいずれかか、それらを含めた配列
elseif (is_archive()) :
//アーカイブページ
elseif (is_post_type_archive()) :
elseif (is_post_type_archive('customposttype')) :
elseif (is_post_type_archive( array( 'apples' , 'oranges' )) :
//カスタムタクソノミーのアーカイブページ
//引数はカスタムタクソノミーのpost_type またはその配列
elseif (is_tax()) :
elseif (is_tax( 'taxonomy-slug' )) :
elseif (is_tax( 'taxonomy-slug' , array( 5 , 'tarm-slug' , 'タームの名前' )) :
//カテゴリー、投稿タグ以外(カスタムタクソノミー?)のアーカイブのとき
//第1引数は、タクソノミーのslugまたはその配列
//第2引数は、タームID、ターム名、タームのslug のいずれかか、それらを含めた配列
//ちなみに、タームはタクソノミーやカテゴリに属する一つ一つの分類のこと。
elseif (is_day()) :
//日別のアーカイブ
elseif (is_month()) :
//月別のアーカイブ
elseif (is_year()) :
//年別のアーカイブ
elseif (is_404()) :
//404ページ
elseif (is_front_page()) :
//フロントページ
//管理画面の設定で、表示設定→フロントページの表示 で「最新の投稿」を選択しているときは、最新の投稿ページが表示されている場合
//「固定ページ」を選択しているときは、「フロントページ」に指定したページが表示されている場合。
elseif (is_home()) :
//ホームページ(トップページのこと)
//管理画面の設定で、表示設定→フロントページの表示 で「固定ページ」+「フロントページ」に指定したページが表示されている場合。
elseif (is_search()) :
//検索結果
elseif (is_attachment()) :
//アップロードした画像などのメディアを表示しているとき
elseif (is_singular()) :
elseif (is_singular('post_types')) :
//is_page、is_single、is_attachment のいずれかがTrueになる時
elseif (is_sticky($post_ID)) :
//□この投稿をフロントページに固定 にチェックが入っている時
//引数には投稿IDを入れる。
elseif (is_tag()) :
elseif (is_tag( 56 )) :
elseif (is_tag(  56 , 'tagslug' , 'タグ名' )) :
//タグページ
//引数は、タグID、タグ名、slug のいずれかか、それらを含めた配列
elseif (is_admin()) :
//管理画面
endif;

WordPressでカテゴリごとにページングしたい時

投稿ページ(シングルページ)で前後の記事にリンクを貼る時(ページング)
previous_post_link('%link' , '%title');
next_post_link('%link' , '%title');
としますが、カテゴリ毎にページングしたいときは、第三引数に TRUE を入れます。
previous_post_link('%link' , '%title' , TRUE );
next_post_link('%link' , '%title' , TRUE );
これで、カテゴリごとにページング出来るようになります。

PHP 配列の内容から必要な値を検索する

一つだけ見つけるには、array_serch を使います。

$array = array('1at'=>'a' , '2nd'=>'b' , '3rd'=>'c' , '4th'=>'d');
echo array_serch('b' , $array)?"見つかった!":"見つからなかった。。。";

ちなみに、?: は三項演算子で、 条件?真の時:偽の時です。なので以下と同じ。

$array = array('1at'=>'a' , '2nd'=>'b' , '3rd'=>'c' , '4th'=>'d');
if(array_search('b' , $array)){
     echo "見つかった!";
}else{
     echo "見つからなかった。。。";
}

複数取得するには、array_keyを使う。

$array = array('1at'=>'blue' , '2nd'=>'red' , '3rd'=>'yellow' , '4th'=>'green' , '5th'=>'red');
$result = array_keys ($array , 'red');
foreach ($result as $arrayKey => $arrayValue){
     echo "['$arrayKey'] = $arrayValue";
}

PHP 配列の繰り返し制御

配列を for で繰り返し。

$array = array('a' , 'b' , 'c' , 'd');
for($i=0;$i<count($array);$i++){
     echo $array[$i];
}

配列を foreach で繰り返し。

$array = array('a' , 'b' , 'c' , 'd');
foreach ($array as $arrayValue){
     echo $arrayValue;
}

連想配列を foreach で繰り返し。

$array = array('1at'=>'a' , '2nd'=>'b' , '3rd'=>'c' , '4th'=>'d');
foreach ($array as $arrayKey => $arrayValue){
     echo "['$arrayKey'] = $arrayValue";
}

 

ループの中で、連想配列の中身を書き換え。

$array = array('1at'=>'a' , '2nd'=>'b' , '3rd'=>'c' , '4th'=>'d');
foreach ($array as $arrayKey => &$arrayValue){
     $arrayValue = "[$arrayValue]";
     echo "['$arrayKey'] = $arrayValue";
}
unset($arrayValue);//参照を解除

PHPで配列の中身を見る方法

print_r 、 var_dump 、 var_export の3種類。

$array = array('taro'=>array('age'=>20 , 'gender'=>'male'),'hanako'=>array('age'=>18 , 'gender'=>'female'));
print_r($array);
var_dump($array);
var_export($array);

  実行結果

Array
(
    [taro] => Array
        (
            [age] => 20
            [gender] => male
        )

    [hanako] => Array
        (
            [age] => 18
            [gender] => female
        )

)

array(2) {
  ["taro"]=>
  array(2) {
    ["age"]=>
    int(20)
    ["gender"]=>
    string(4) "male"
  }
  ["hanako"]=>
  array(2) {
    ["age"]=>
    int(18)
    ["gender"]=>
    string(6) "female"
  }
}

array (
  'taro' =>
  array (
    'age' => 20,
    'gender' => 'male',
  ),
  'hanako' =>
  array (
    'age' => 18,
    'gender' => 'female',
  ),
)