【wordpress】商品一覧:カスタム投稿タイプで

1.まずカスタム投稿タイプを作るためにプラグイン「Custom Post Type UI」をインストールし→有効化。
※functions.phpに書く方法もあるけど割愛。


2.投稿タイプ名Post Type Slug…アルファベットを入力。
ラベルPlural Label…ダッシュボードに表示される名称。
[Create Custom Post Type]をクリック。


3.カスタム投稿タイプにカスタムフィールドを設定し、価格やサイズなどの共通する情報を入力しやすくするため、プラグイン「Advanced Custom Fields」をインストール→有効化。


4.タイトルにカスタム投稿名を入力。
「位置」→「ルール」より
どの編集画面でカスタムフィールドを表示するかを一番右のセレクトから選びます。
これをしないと、通常の投稿画面のほうにカスタムフィールドが表示されてしまいます。

5.「フィールドを追加」で、詰問を1つづつ設定していきます。


6.一覧を表示させるための固定ページと、テンプレートを作ります。

確認画面付きお問い合わせフォーム「MW WP Form」

確認画面付きお問い合わせフォームを頼まれたので、
プラグイン「MW WP Form」を採用。

【問題】
ユーザーの自動返信メール届かない

【解決】
管理画面の「自動返信メール設定」の「自動返信メール」欄にメールアドレスのnameの値のみを入力しないと、返信先が設定されたことにならない。

引用元 ※画像あり
http://caicadesign.com/wordpress/mw-wp-form/

固定ページで特定の子ページのみ内容が表示されない

【現象】
・固定ページで特定の子ページのみ内容が表示されない。
・ほかの親子関係にある子ページは普通に表示されてる。
・親ページ扱いに変更すると表示される。

【解決】
パーマリンクだった。
パーマリンクをカスタム構造で「/%postname%/」としており、親ページを「search」という名前に編集していたが、親ページを「sagasu」に変更したら表示された!!

【参考】
https://ja.forums.wordpress.org/topic/10214

会員制ページのあるサイトをつくるよ

1つのID/PASSを会員が共用し、会員ページバナーをクリックすると会員用ページが見られる仕様。


【手順1】購読者権限で新規ユーザをつくる。これが会員に配布するID/PASSになります。


【手順2】
会員ページにアクセスした際、ログインしていない場合、Wordpressのログイン画面にとばすようにします。
今回はページ内の数ページを会員ページとしたので、会員ページに該当するページには「single-kaiin.php」を読ませています。

▼やりかた
「single-kaiin.php」の一番上に下記を記述。

<?php if (is_user_logged_in()){
}else {auth_redirect();
}; ?>

▼注意!
<html>やテンプレート名の前に入れないとうまくいかない。真っ白ページになっちゃう。



【手順3】
ログインしたら管理画面ではなくトップページなどにとばします。

▼やりかた
ログインしたときに指定URLにリダイレクトしてくれる「Peter’s Login Redirect」プラグインを使用して、設定より飛ばすページを指定します。


【手順4】
購読者でログインしたユーザに管理画面をのぞかれないようにします。

▼やりかた
function.phpに、下記2つを書き加える。

/* 購読者のログイン後にはツールバー(アドミンバー)を消す */
add_action( 'after_setup_theme', 'subscriber_hide_admin_bar' );
function subscriber_hide_admin_bar() {
$user = wp_get_current_user();
if ( isset( $user->data ) && !$user->has_cap( 'edit_posts' ) ) {
show_admin_bar( false );
}
}

/* 管理者しかダッシュボードにアクセスできないよ */

add_action( 'auth_redirect', 'subscriber_go_to_home' );
function subscriber_go_to_home( $user_id ) {
$user = get_userdata( $user_id );
if ( !$user->has_cap( 'edit_posts' ) ) {
wp_redirect( get_home_url() );
exit();
}
}


【手順5】
管理画面をカスタマイズする。

<?php
function login_logo() {
echo '<style type="text/css">
#login h1 a {
background: url('.get_bloginfo('template_directory').'/images/logo.png) no-repeat;
width: (ロゴのサイズ)px;
height: (ロゴのサイズ)px;
}
</style>';
}
add_action('login_head', 'login_logo');
?>



【手順6】
公開ページにも非公開ページにもそれぞれ新着情報を表示させたいので、投稿のカテゴリによって公開/非公開をわけられるようにします。

プラグインAllow Categoriesで、カテゴリ毎に設定ができるので設定する。
一般公開の場合(Public)、ログインした場合(Logged In)。
ログイン機能を使用するカテゴリーにはチェックしない。