興味深 関数

$wp_query->get_queried_object();

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

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

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

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

<?php //アーカイブページでターム名取得
$super1 = get_query_var( 'term' );
echo $super1
?>
<?php //アーカイブページでタクソノミー名取得
$super2 = get_query_var( 'taxonomy' );
echo $super2
?>
スラッグが'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 投稿数
複合
<?php //カテゴリー・タグ情報を取得(slug,アーカイブページでターム名取得,タクソノミー名取得)
$term = get_term_by('slug',get_query_var( 'term' ),get_query_var( 'taxonomy' )
);
?>

そこで分岐する

<?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, 
  ) );
}?>

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

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

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

合わせ技 変動可

<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
普通のカテゴリーページへのリンクは以下のコードで出来るようです。未確認

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

ポストオーサー

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

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

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

だから

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

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

実意用例

<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マスターをインクルードしてリンクを張り
ユーザー画像をクリックでユーザー紹介ページへ飛ばす

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

<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をいれるみたいだから単に他のポストタイプも行けそう

オーサーページ出力

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

 <?php the_author_posts_link(); ?>

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

<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(); ?>
  
.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;
}

こんな感じ

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)

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

 

配置ルール

投稿タイプは指定する。

 

出力方法

ループフィールド

<?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;
?>

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


<!--シンプルライトボックス用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>


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

入れない場合も考へ分岐

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

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

完成コード

<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

と分ける。

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

<!--カート-->
<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> 

Jクエリ カルーセル ラミール ベストセラー商品など

<!--カルーセルスライダー-->

<script type="text/javascript" src="js/jquery.jcarousel.min.js" ></script>

<script type="text/javascript">
jQuery(document).ready(function() {
 jQuery('#mycarousel').jcarousel({
  // 表示設定
  scroll: 1,
  auto: 2,
  wrap: 'both',
 });
});
</script>
<div id="mycarousel">
    <ul>

<li>
<p class="img"><a><img></a></p>
<p class="title"><a>タイトル</a></p>
</li>

<li>
<p class="img"><a><img></a></p>
<p class="title"><a>タイトル</a></p>
</li>





</ul>
</div>

MAMPでPHPファイル以外でもPHPを実行可能

/Applications/MAMP/conf/apache/にあるhttpd.confをテキストエディタなどで開いて、135行目ぐらいにある以下の部分を修正する。

AddType application/x-httpd-php .php .phtml

この部分にPHPを実行させたいファイル形式の拡張子を追加する。

AddType application/x-httpd-php .php .phtml .html

編集したhttpd.confを保存してMAMPを再起動すれば、追加したファイル形式でPHPが動くはず。

タイトルもしくはog:titleの分岐

<meta property="og:title" content="<?php
wp_title( '|', true, 'right' );
if(is_tax('genre')): //大カテゴリ21---------------------------------

  $super = single_term_title('', false);
$args = array(
		'posts_per_page' => 1,
'tax_query' => array(
			'relation' => 'AND',
			array(
				'taxonomy' => 'midashi',//タクソノミー見出しの
				'field' => 'slug',
				'terms' => array( $super, '予備' ),//タームに現在のタームを入れるsuper※条件midashiとgenreのターム名は同じ
//'operator'=>'NOT IN'
				),
),
'post_type' => 'd_midashi_top', //カスタムポスト見出しトップの
	);

	query_posts( $args );

if ( have_posts () ) :
    while ( have_posts() ) :
        the_post();
echo get_post_meta($post->ID,"見出し文",true); 

    endwhile;
endif;
//genreのタクソノミーだったら終わり
?><?php
endif; //else:
wp_reset_query();
	/*
	 * Print the <title> tag based on what is being viewed.
	 */
	global $page, $paged;

	
	
	   if(is_singular( 'performer' ) )://パフォーマー個---------------------------------
    echo get_post_meta($post->ID,"キャッチコピー",true);
	echo ' ';

endif;
if(is_tax('chiiki')): //パフォーマー地域---------------------------------
	echo 'イベントレポート ';
	
endif;

	// Add the blog name.
	bloginfo( 'name' );
	
	
	// Add the blog description for the home/front page.
	$site_description = get_bloginfo( 'description', 'display' );
if ( $site_description && ( is_home() || is_front_page() ) )


		echo " | $site_description";
		
		if(is_page()): //固定ページ--------------------------------
echo " | $site_description";
endif;

	// Add a page number if necessary:
	if ( $paged >= 2 || $page >= 2 )
		echo ' | ' . sprintf( __( 'Page %s', 'twentyeleven' ), max( $paged, $page ) );

	?>" />

og:typeを分岐

<?php if(is_home()): //ホームなら?>

<meta property="og:type" content="website">

<?php else: ?>
<meta property="og:type" content="article">
<?php endif; ?>

og:descriptionにカスタムフィールドを改行させないで

<?php if(is_singular( 'performer' ) )://パフォーマー個人---------------------------------?>

<meta property="og:description" content="<?php echo mb_substr( str_replace(array("\r\n","\r","\n"),'',strip_tags(get_post_meta($post->ID,"プロフィール",true))), 0, 120); //ソースを改行させない カスタムフィールドの文字を指定数だけ入れる?>"> 


<?php elseif(is_singular( 'event_report' ) )://レポート個---------------------------------?>

<meta property="og:description" content="<?php echo mb_substr( str_replace(array("\r\n","\r","\n"),'',strip_tags($post->post_content)), 0, 120 ); //ソースを改行させない コンテンツの文字を指定数だけ入れる?>"> 

<?php else: ?>
<meta property="og:description" content="大道芸人、マジシャン、似顔絵師、演奏家などの出張派遣、様々なパフォーマーを派遣いたします。全国の芸人が総勢250名以上在籍!イベント企画会社様から個人のイベントまで、驚きの低価格にて派遣いたします。" />
<?php endif; ?>

Custom Field GUI Utility Extenderで表示した画像をog:imgに

<?php if(is_singular( 'event_report' )): //シングルより先に読み込む?>
<meta property="og:image" content="<?php $imagefield = get_imagefield('レポート画像1');
$attachment = get_attachment_object($imagefield['id']);
$imgattr = wp_get_attachment_image_src($imagefield['id'], 'thumbnail'); // thumbnail, large, medium, full を指定
print $imgattr[0]; 
?>" />

<?php elseif(is_singular( 'performer' )): ?>
<meta property="og:image" content="<?php $imagefield = get_imagefield('パフォーマー画像1');
$attachment = get_attachment_object($imagefield['id']);
$imgattr = wp_get_attachment_image_src($imagefield['id'], 'thumbnail'); // thumbnail, large, medium, full を指定
print $imgattr[0]; 
?>" />
<!--それ以外なら-->





<?php else: ?>




<meta property="og:image" content="http://www.xn--q9js4nqcxfya8d9mb5974lbbyb.com/img/face.jpg" />
<?php endif; ?>

thumbnailでええの?fullでしょ?

Custom Field GUI Utility Extender 画像出力

  <?php if(get_post_meta($post->ID, 'パフォーマー画像1', true)): ?> 
    <!--サムネイルコード-->       
<?php
$imagefield = get_imagefield('パフォーマー画像1');
$attachment = get_attachment_object($imagefield['id']);
$imgattr = wp_get_attachment_image_src($imagefield['id'], 'thumbnail'); // thumbnail, large, medium, full を指定
echo '<image src="' . $imgattr[0] . '" width="' . $imgattr[1] . '" height="' . $imgattr[2] . '" alt="' . get_the_title() . '" title="' . get_the_title() . '" />';
?>
<!--サムネイルコード--> 
 <?php endif; ?>

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

//タイトルを入力してくださいを変える
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');

1 件目と2 件目の記事の間に広告を挿入する

http://nanokamo.com/articles/web-service/wordpress/wordpress-top-ad.html

<?php

if ( have_posts () ) :
while (have_posts()) : the_post(); $counter++;
?>        
 
<?php include("d_roop.php") ?>


<?php if ($counter <= 1) {
print <<<EOD
アドセンスのコードを挿入
EOD;
} ?>



<!----閉じループタグ----->
<?php
    endwhile;
endif;
?>
<!---------------リセットクエリ--------------------------------------------->
<?php wp_reset_query(); ?>

よくわからんが
モバイル用

            while ( have_posts() ) : the_post(); $counter++;
                $i++;
        ?>

<?php if ($counter == 3) {
print <<<EOD
<div class="hentry">アドセンスのコード</div>
EOD;
} ?>