親カテゴリが同じな子カテゴリの一覧表示

カテゴリーの場合のコード

親カテゴリのIDが分かっている場合、 たとえば親カテゴリのIDが1のとき、

1
2
3
<?php wp_list_categories(
'child_of=1'
); ?>

親カテゴリはもちろん記事や子カテゴリによって違うわけです。 なので、親カテゴリデータ受け取り→加工の手順が必要です。
/* 現在のカテゴリ-の取得 */
$cat_now = get_the_category();
$cat_now = $cat_now[0];

/*親カテゴリーのID取得*/

$parent_id = $cat_now->category_parent;


- See more at: http://little.ws/200906/204.html#sthash.GAtaZEJG.dpuf

全部まとめると

1
2
3
4
5
6
<?php
$cat_now = get_the_category();
$cat_now = $cat_now[0];
$parent_id = $cat_now->category_parent;
?>
<?php wp_list_categories("title_li=&child_of=$parent_id"); ?>

引用
http://little.ws/200906/204.html

タイトルを入力してくださいを変える

1
2
3
4
5
6
7
8
9
10
11
//タイトルを入力してくださいを変える
function change_default_title( $title ) {
    $screen = get_current_screen();
    if ( 'performer' == $screen->post_type ) {
        $title = 'パフォーマー名を入力してください。';
    } else if ( $screen -> post_type == 'post' ) {
        $title = 'これは投稿だけ変更します';
    }
    return $title;
}
add_filter('enter_title_here', 'change_default_title');

05ナビの上部メニューのコード完成系

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php //カテゴリー・タグ情報を取得(slug,アーカイブページでターム名取得,タクソノミー名取得)
$term = get_term_by('slug',get_query_var( 'term' ),get_query_var( 'taxonomy' )
);
?>
 
 
<?php //$termにはいってる情報で分岐
if ( $term->parent ) { // 親IDが入ってれば (子だったら)
?>
 
<!---TOP部分-->
<?php //親のIDを取得してターム情報を引き出す。
$ido=$term->parent;
$term2=get_term($ido,get_query_var( 'taxonomy' ));
?>
<a href="<?php //子 親のターム情報からターム名とリンクを引き出す。
echo get_term_link($term2->slug,get_query_var( 'taxonomy' )); ?>
">
<?php
echo $term2->name; ?>
</a>
<div style="clear:both"></div>
 
<!---一覧部分-->
<?php
  wp_list_categories( array(
  'title_li' => '',
    'taxonomy' => get_query_var( 'taxonomy' ),
    'child_of' => $term->parent,//親のIDを出力
    'hide_empty' => 0,
  ) );
}
 
 
else { //親だったらそのまま出力
 
 
?>
<!---TOP部分-->
<a href="<?php //親
echo get_term_link($term->slug,get_query_var( 'taxonomy' )); ?>
">
<?php
echo $term->name; ?>
</a>
<div style="clear:both"></div>
 
<!---一覧部分-->
<?php
 
 
  wp_list_categories( array(
    'title_li' => '',
    'taxonomy' => get_query_var( 'taxonomy' ),
    'child_of' => $term->term_id,
    'hide_empty' => 0,
  ) );
}?>

アロー演算子

codeigniterでDBアクセス時に用いるもの

http://codeigniter.jp/user_guide_ja/database/examples.html

1
2
3
4
5
6
7
8
9
10
$query = $this->db->query('SELECT name, title, email FROM my_table');
 
foreach ($query->result() as $row)
{
    echo $row->title;
    echo $row->name;
    echo $row->email;
}
 
echo 'Total Results: ' . $query->num_rows();

タダ見つけたさんこう

タダ見つけたさんこう

http://blog.cgfm.jp/garyu/archives/2001こっから引用下記

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
//カスタム投稿タイプの場合slugを取得
$post_type =  get_post_type();  //取得結果: 'event'
  
//カスタム投稿タイプのラベルを取得
$post_type_object = get_post_type_object($post_type);
$post_type_label = $post_type_object->label;   //取得結果:'イベント情報'
  
//クエリからtaxonomy(カスタム分類タクソノミー)のslug取得
$taxonomy_var  = get_query_var('taxonomy');   //取得結果:'event-category'
  
//クエリからterm(カスタム分類タクソノミー内のカテゴリ)のslug取得
$term_var = get_query_var( 'term' );   //取得結果:'workshop'
  
//termの情報を取得
$my_term   = get_term_by('slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
  
//termのラベルを取得
$term_name  = $my_term->name;    //取得結果:'ワークショップ'
?>

タクソノミーで親には子のカテゴリ、子には商品ページ一覧を

http://ja.forums.wordpress.org/topic/7806
ここ参照

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$term = get_term_by('slug',get_query_var( 'term' ),get_query_var( 'taxonomy' )
);
?>
<?php
if ( $term->parent ) { // 子?
  $posts = get_posts( array(
    'taxonomy' => get_query_var( 'taxonomy' ),
    'term' => get_query_var( 'term' ),
  ) );
  ?><ul><?php
  foreach ( (array) $posts as $post ) :
    setup_postdata( $post );
    printf('<li><a href="%1$s">%2$s</a></li>',
esc_url( get_permalink( get_the_ID() ) ),
esc_html( get_the_title( get_the_ID() ) )
);
  endforeach;
  ?></ul><?php
  wp_reset_postdata();
} else {
  wp_list_categories( array(
    'taxonomy' => get_query_var( 'taxonomy' ),
    'child_of' => $term->term_id,
    'hide_empty' => 0,
  ) );
}?>

興味深 関数

1
$wp_query->get_queried_object();

http://elearn.jp/wpman/function/get_queried_object.html

こいつで色色取得できるらし

http://ja.forums.wordpress.org/topic/6403
こっからいった

タクソノミーページ(アーカイブ)などで

1
2
3
4
5
6
7
8
<?php //アーカイブページでターム名取得
$super1 = get_query_var( 'term' );
echo $super1
?>
<?php //アーカイブページでタクソノミー名取得
$super2 = get_query_var( 'taxonomy' );
echo $super2
?>
1
2
3
スラッグが'blog'のカテゴリー情報を取得する。
 
<?php $cat = get_term_by( 'slug' , 'blog' , 'category' ); ?>

http://elearn.jp/wpman/function/get_term_by.html
ここよりゲットタームバイの返り値は

プロパティ名 データ型 意味
term_id int ID
name string 名前
slug string スラッグ
term_group int グループID
term_taxonomy_id int タクソノミーID
taxonomy string タクソノミー名。カテゴリーの場合は’category’、タグの場合は’post_tag’となる
description string 説明
parent int 親カテゴリーID。親カテゴリーがない場合は0となる
count int 投稿数
1
2
3
4
5
複合
<?php //カテゴリー・タグ情報を取得(slug,アーカイブページでターム名取得,タクソノミー名取得)
$term = get_term_by('slug',get_query_var( 'term' ),get_query_var( 'taxonomy' )
);
?>

そこで分岐する

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php //$termにはいってる情報で分岐
if ( $term->parent ) { // 親IDが入ってれば (子だったら)
 
 
  wp_list_categories( array(
    'taxonomy' => get_query_var( 'taxonomy' ),
    'child_of' => $term->parent,//親のIDを出力
    'hide_empty' => 0,
  ) );
}
 
 
else { //親だったらそのまま出力
  wp_list_categories( array(
    'taxonomy' => get_query_var( 'taxonomy' ),
    'child_of' => $term->term_id,
    'hide_empty' => 0,
  ) );
}?>

05navi プラグインまとめ

Adminimize
権限設定によってメニューや投稿制限

Admin Menu Editor
メニュー名変更

Category Order and Taxonomy Terms Order
カテゴリタクソノミーの並び替え

Contact Form 7
お問い合わせ

Custom Post Type UI
ポストタイプ タクソノミー作る

Simple Taxonomy
タクソノミーに権限がつけられる
具体的に管理者のみ制御出来るカテゴリに使う

Imsanity
画像サイズ調整ーMAXサイズ指定

キャッシュ系高速化プラグイン
詳しい説明
http://blog.anekipedia.com/toku/wordpress%E3%81%AE%E9%AB%98%E9%80%9F%E5%8C%96%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6.html
MO Cache
WP File Cache
WP Hyper Response
ここまでいつも入れる

Quick Cache
ページキャッシュー作業完了後のが無難?

Head Cleaner
css スクリプト整理 動作確認注意設定多数有り
詳しい事http://netaone.com/wp/head-cleaner/

DB Cache Reloaded Fix
データベースのアクセス回数を減らす 管理画面に有効か?

Custom Field Suite
カスタムフィールドプラグイン

Role Scoper
自分の投稿しか見せなくする
メディアも
generalでオーサーにカスタムタイプのオーサーをわざわざ当てる必要あり
意味分からん

Breadcrumb NavXT
ナビブラグ

wp_page_numbers
ページ送り

■Theme My Login
ログイン 新規登録を ウィジェットで作成できる
新規ユーザー登録で パスワード決めれる。
詳しい説明
http://yahss.net/wordpress/765-registration-form2-with-theme-my-login/#tml01
idを無くして メルアドで ユーザーIDとしたいができん。

■WP-Menbers
ログイン項目に追加でオリジナルユーザーニックネームを追加した。
できるならデフォルトのニックネームでもできるのか?

カスタム投稿タイプのアーカイブページへのリンクコード

http://memocarilog.info/wordpress/theme-custom/5085

アドレスのみ取得する方法

合わせ技 変動可

1
2
3
<a href="<?php echo get_post_type_archive_link( get_post_type() ); ?>">
<?php echo esc_html( get_post_type_object( get_post_type() )->label ); ?>
</a>

http://ja.forums.wordpress.org/topic/9361

http://rriinnddoouu.lolipop.jp/blog/2012/11/17/324
普通のカテゴリーページへのリンクは以下のコードで出来るようです。未確認

1
<a href="<?php echo get_category_link('カテゴリID');?>">もっと見る &raquo;</a>

ポストオーサー

こういうコードを書くらしい

1
http://www.sol-wear.com/?author=1

これでオーサーテンプレートでユーザーID 1の情報出力

だから

1
2
<a href="http://www.sol-wear.com/?author=<?php $user_id = get_the_author_meta( 'id' ); ?><?php echo $user_id; ?>">
</a>

と書いてポストオーサーのオーサーページへのリンク

実意用例

1
2
3
4
5
6
7
<a href="<?php include("link0.php") ?>?author=<?php $user_id = get_the_author_meta( 'id' ); ?><?php echo $user_id; ?>">
<?php
$prof_photo_id = get_the_author_meta('prof_imgs');
$prof_photo_img = wp_get_attachment_image_src($prof_photo_id, 'prof_img');
echo '<img src="' .$prof_photo_img[0] . '"style="float:left; margin-right:14px; margin-bottom:14px;">'
?>
</a>

URL0マスターをインクルードしてリンクを張り
ユーザー画像をクリックでユーザー紹介ページへ飛ばす

そんでもって
ポストタイプを指定しても出来るみたい
昔書いてたコード

1
<a href="http://d-marking.com/d_temp1/?post_type=post&author=<?php $user_id = get_the_author_meta( 'id' ); ?><?php echo $user_id; ?>"><?php the_author_nickname(); ?></a>

post_type=postをいれるみたいだから単に他のポストタイプも行けそう

オーサーページ出力

オーサーページへ飛ばすリンク出力コード
記事中

1
<?php the_author_posts_link(); ?>

アーカイブで一覧が出力されるが
オーサーphpをいれればそちらが出る
ワイルノループをけしたです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<div class="top_new">
  <div style="padding-top:30px;"></div>
<?php
if ( have_posts () ) :
 
        the_post();
?>
<!--アバター-->
    <div class="prof_img2">
      <?php
$prof_photo_id = get_the_author_meta('prof_imgs');
$prof_photo_img = wp_get_attachment_image_src($prof_photo_id, 'prof_img2');
echo '<img src="' .$prof_photo_img[0] . '">'
?>
    </div>
    <!--ニックネーム-->
        <div class="prof_title"><?php the_author_meta(user_nicename); ?></div>
        <div class="prof_posi">SOL Market Department</div>
<div class="prof_comment">
  <div class="prof_comment_box"> <div class="prof_comment_box_in">
<?php //ユーザープロフ改行
    $user_data = get_userdata($author);
    echo wpautop( $user_data->description );
?>
 
<?php echo wpautop(get_the_author_meta('user_description')); //これも改行あり?>
   
</div>
 </div></div>
</div class="top_new">
 
 <?php
 
endif;
?>
  
 <?php wp_reset_query(); ?>
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
.prof_img2 {
    background-image: url(../img/sol_auther.png);
    background-repeat: no-repeat;
    height: 144px;
    width: 144px;
    padding: 14px;
    float: left;
}
.prof_comment {
}
 
.prof_comment_box{
    overflow: hidden;
    background-image: url(../img/sol_auther_comment.png);
    background-repeat: no-repeat;
    background-position: left top;
    padding-left: 15px;
}
.prof_comment_box_in {
    background-color: #CCC;
    overflow: hidden;
    padding-top: 15px;
    padding-right: 30px;
    padding-bottom: 15px;
    padding-left: 30px;
}
.prof_title{
    font-size: 35px;
    padding-left: 20px;
    overflow: hidden;
}
.prof_posi{
    font-size: 15px;
    overflow: hidden;
    padding-left: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
}

こんな感じ

サムネイルサイズ追加時 注意点

1
2
3
4
//サムネイルサイズ増やす trueが強制切り抜き
add_image_size( 'prof_img', 70, 70, true );
add_image_size( 'event_sam', 105, 105, true );
add_image_size( 'event_sam2', 140, 140, true );

ハイフンはやめとけ 上手くでなくて???ってなって他の名前つけたら出たから 上のアンダーバーとか

1
2
add_image_size( 'event-sam', 105, 105, true );
add_image_size( 'event-sam2', 140, 140, true );

ユーザーアバター

■Simple Local Avatarsプラグイン使用

■Advanced Custom Fields(アドバンスカスタムフィールドを使う)
フィールドグループに
prof_imgs

宛先をユーザーページに

出力1

1
2
3
4
5
<?php
$prof_photo_id = get_the_author_meta('prof_imgs');
$prof_photo_img = wp_get_attachment_image_src($prof_photo_id, 'event-sam');
echo '<img src="' .$prof_photo_img[0] . '">'
?>

出力2

1
2
3
<?php
$title= get_the_title();
echo wp_get_attachment_image(get_the_author_meta('prof_imgs'),event-sam,0,array('alt'=>$title,'title'=>$title)); ?>

welcart 右上にログイン名前

1
2
3
4
5
6
7
8
9
10
11
12
<?php if(usces_is_membersystem_state() || usces_is_cart()): ?>
  <ul class="subnavi">
    <?php if(usces_is_membersystem_state()): ?>
    <li><a href="<?php echo USCES_MEMBER_URL; ?>"><?php if(usces_is_login()){printf(usces_the_member_name('return')); echo ' さん';}else{echo 'ゲストさん';} ?></a></li>
    
 
    <?php endif; ?>
    <?php if(usces_is_cart()): ?>
    <li><a href="<?php echo USCES_CART_URL; ?>"><img src="img/cart2.png" width="19" height="16"></a></li>
    <?php endif; ?>
    </ul>
  <?php endif; ?>

Custom Field Suite のまとめ

http://komodo.arrow.jp/wp/733#wysiwyg

http://lilacmimosa.jp/blog/wordpress-custom_field_suite-loop-file_upload.html

http://memo352.blog119.fc2.com/blog-entry-355.html

※注意:フィールドループで投稿すると
画像一件だけ出力する方法が分からない。
つまり記事一覧でサムネイルにできない
記事一覧で 項目なら 一個目だけ表示できない。
出し方が分からない

ポストタイプは作れないが

カスタムポストを使いやすくするプラグイン。

なんか分かりやすい操作感。

 

■カスタムフィールドで画像ギャラリー

ギャラリーフィールド event_photos (loop)

にフォトフィールド event_photo(file)

を保存後上手にドラッグイン

 

配置ルール

投稿タイプは指定する。

 

出力方法

ループフィールド

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php//宣言
$fields = $cfs->get('event_photos');
foreach ($fields as $field) :
?>
 
<!--シンプルライトボックス用rel-->
<a rel="slb slb_group[111111]" href="
<?php //イメージFULL URLを取得
$attachment_id = $field['event_photo'];
$sample_photo = wp_get_attachment_image_src($attachment_id, "full");
print $sample_photo[0];
?>
">
 
<?php
 //イメージを取得 さらに記事タイトルを取得しライトボックス キャプションを入れ替えるためalt titleを追加
//wp_get_attachment_imageの関数?は4個詳しくは該当際サイトで
$title= get_the_title();
$attachment_id = $field['event_photo'];
$sample_photo = wp_get_attachment_image($attachment_id, "event-sam",0,array('alt'=>$title,'title'=>$title));
echo $sample_photo;
?>
</a>
 
 
<?php
endforeach;
?>

以下はお試しでやったループフィールドじゃない時のやつ 例えば カスタムフィールドテンプレートや 単発画像など

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!--シンプルライトボックス用rel-->
<a rel="slb slb_group[111111]" href="
<?php //イメージFULL URLを取得
$img_url =wp_get_attachment_image_src(get_post_meta($post->ID,"event_photo",true),'full');
print $img_url[0];
?>
">
 
<?php //イメージを取得 さらに記事タイトルを取得しライトボックス キャプションを入れ替えるためalt titleを追加
//wp_get_attachment_imageの関数?は4個詳しくは該当際サイトで
$title= get_the_title();
echo wp_get_attachment_image(get_post_meta($post->ID,"event_photo",true),event-sam,0,array('alt'=>$title,'title'=>$title)); ?>
 
</a>

さらにキャンプションのテキストフィールドを作り
ライトボックスのキャプションにいれるようにした。

入れない場合も考へ分岐

1
2
3
4
5
//分岐 キャプション蟻
$title = $field['photo_cap'];
if (empty($title)):
$title= get_the_title();
endif;

ここが分岐emptyは空白なら〜という分岐らしい 初

完成コード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<div class="top_titol">EVENT PHOTO</div>
<div class="event_photo">
<?php
$fields = $cfs->get('event_photos');
foreach ($fields as $field) :
?>
 
 
<a rel="slb slb_group[111111]" href="
 
<?php
$attachment_id = $field['event_photo'];
$sample_photo = wp_get_attachment_image_src($attachment_id, "full");
print $sample_photo[0];
?>
">
<?php
 
 //分岐 キャプション蟻
$title = $field['photo_cap'];
if (empty($title)):
$title= get_the_title();
endif;
 
 $attachment_id = $field['event_photo'];
 $sample_photo = wp_get_attachment_image($attachment_id, "event-sam",0,array('alt'=>$title,'title'=>$title));
echo $sample_photo;
 
?>
</a>
 
 
<?php
endforeach;
?>
</div>

サイズ購入と在庫管理

商品ごとにサイズ別在庫を抱える場合

商品 sol006

にSKLをサイズごとに
sol006-s
sol006-m
sol006-l
sol006-xl

と分ける。

カートを複数出力しサイズごとにカートへボタン設置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!--カート-->
<div class="single_cart">
<table cellspacing="0"><tbody>
<?php
//単品の場合ループ宣言
//usces_have_skus(); ?>
<?php //の場合複数ループ宣言
//while (usces_have_skus()): ?>
<?php do { //ページ内にこの前にusces_have_skus()を使った場合こう書く 2回目ってこと?>
<tr><td><span class="zaikostatus"><?php usces_the_itemSkuDisp() ?></span></td><td><span class="zaikostatus2"><?php usces_the_itemZaiko(); ?></span></td><td><span class="zaikostatus2"> 数量 </span><?php usces_the_itemQuant(); ?></td><td>  <?php usces_the_itemSkuButton(カートへ入れる); ?></td>
</tr>
<?php //endwhile; ?> 
<?php } while (usces_have_skus()); ?>
</tbody>
</table>
</div>