重複防止 カテゴリのスラッグの方をディスプリクション/タイトルに入れる場合 デコードして 

ビシューで ブログ納入実績カテゴリ と 納入実績のタイトルとディスプリクションがかぶった

解りやすく カテゴリを納入実績としてスラッグをブログ納入実績
としたため

対策 

ディスプリクション&タイトルで入れる文字をスラッグにする

if(is_category()): echo urldecode ($tax_slug = get_term_by( 'name', single_term_title( '', false ), 'category' )->slug)


global $page, $paged;
	
	
	if (is_category()): 
	echo urldecode ($tax_slug = get_term_by( 'name', single_term_title( '', false ), 'category' )->slug);
	echo ' | ';
	
	else:

	wp_title( '|', true, 'right' );
	
	endif;

デコードしないと文字化けする

http://php.net/manual/ja/function.urldecode.php

タクソノミーでも行ける
http://elearn.jp/wpman/function/get_term_by.html

WordPress, シングルでもwp_list_categoriesにcurrent-cat

参考https://www.evernote.com/pub/0xmxkx/mynotebook#st=p&n=c1dcd2ca-de1c-46d6-a3fd-2171181c40dc

//カテゴリ シングルでもwp_list_categories にカレント 
function sgr_show_current_cat_on_single($output) {
     global $post;
     if( is_single()) {
          $categories = wp_get_post_categories($post->ID);
          foreach( $categories as $catid ) {
	  $cat = get_category($catid);

	       // Find cat-item-ID in the string
	       if(preg_match('#cat-item-' . $cat->cat_ID . '#', $output)) {
	            $output = str_replace('cat-item-'.$cat->cat_ID, 'cat-item-'.$cat->cat_ID . ' current-cat', $output);
	       }
          }

     }
     return $output;
}
add_filter('wp_list_categories', 'sgr_show_current_cat_on_single');
 カスタム
//タクソノミーd_cate_jirei ポストタイプd_jirei シングルでもwp_list_categories にカレント 
function d_show_current_tram_on_single($output) {
     global $post;
     if( is_singular( 'd_jirei' )) {
          $tarms =wp_get_post_terms($post->ID, 'd_cate_jirei');
          foreach( $tarms as $tarm ) {
			  
	$tarmid = $tarm->term_id;
			  
$dtarm = get_term($tarmid, 'd_cate_jirei');
	       // Find cat-item-ID in the string
	       if(preg_match('#cat-item-' . $dtarm->term_id . '#', $output)) {
	            $output = str_replace('cat-item-'.$dtarm->term_id, 'cat-item-'.$dtarm->term_id . ' current-cat', $output);
	       }
          }

     }
     return $output;
}

add_filter('wp_list_categories', 'd_show_current_tram_on_single');

get_postでの書き方 ループ

 
          <?php
	$args = array(
		'posts_per_page' => 3,
		'cat' => 337,
);

	$myposts = get_posts( $args );
	if(! $myposts){ echo '<div style="margin-left:20px;">記事はまだありません。</div>';}
	foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
内容

  <?php endforeach; 
wp_reset_postdata();?>

なんだかページ送りが上手く簡単にいかなかったので
クエリポストで ページ送りある場合は

カスタムフィールドに日付を入れて その日より5年以内なら表示するっていうループの宣言

つまり開業日が5年以内のショップは表示されるってこと
若い店から表示

<!----宣言----->
          <?php
		   $d_today = date("Ymd");//今日を取得して
		  $d_5years = $d_today - 50000;//5年と00ヶ月00日を引くと5年前の日付を取得できる。
		
	$args = array(
		'posts_per_page' => 3,
		'post_type' => 'shop', //カスタム投稿名
		'meta_key'=>'open_day',
		'orderby' => 'meta_value_num',
		'order' => 'DESC',
		
		'meta_query' => array(//カスタムフィールドによる絞り込み
            array(
                'key' => 'open_day',//カスタムフィールド オープン日
               'value' => '',//空のやつは
		'compare'=>'NOT IN'//含めん
            ),
			 array(
                'key' => 'open_day',//カスタムフィールド名 オープン日
               'value' > $d_5years, //5年以内のやつを 含める (数値大きいと5年以内)
            ),
        ),
		
	);
?>

アドバンスで日付作った。

meta_query
http://elearn.jp/wpman/column/c20110915_01.html

php日付
http://php.net/manual/ja/function.date.php

他ユーザーの記事を除外

//他ユーザーの投稿を編集する権限がない場合に、一覧表示から他ユーザーの記事を除外
function exclude_other_posts( $wp_query ) {
    if ( isset( $_REQUEST['post'] ) && post_type_exists( $_REQUEST['post'] ) ) {
        $post_type = get_post_type_object( $_REQUEST['post'] );
        $cap_type = $post_type->cap->edit_other_posts;
    } else {
        $cap_type = 'edit_others_posts';
    }
 
    if ( is_admin() && $wp_query->is_main_query() && ! $wp_query->get( 'author' ) && ! current_user_can( $cap_type ) ) {
        $user = wp_get_current_user();
        $wp_query->set( 'author', $user->ID );
    }
}
add_action( 'pre_get_posts', 'exclude_other_posts' );
function exclude_other_posts( $wp_query ) {
    if ( isset( $_REQUEST['post_type'] ) && post_type_exists( $_REQUEST['post_type'] ) ) {
        $post_type = get_post_type_object( $_REQUEST['post_type'] );
        $cap_type = $post_type->cap->edit_other_posts;
    } else {
        $cap_type = 'edit_others_posts';
    }
 
    if ( is_admin() && $wp_query->is_main_query() && ! $wp_query->get( 'author' ) && ! current_user_can( $cap_type ) ) {
        $user = wp_get_current_user();
        $wp_query->set( 'author', $user->ID );
    }
}
add_action( 'pre_get_posts', 'exclude_other_posts' );
所有 (1) | すべて (7) | 公開済み (4) | 下書き (3)

の数字が合わなくなってしまうのが気になる方は、CSSで .count に display: none; があたるようにしてください。

/*ブログ投稿一覧カラムの上の部分*/
.post-type-post .subsubsub .count,.post-type-post .subsubsub .all,

http://www.warna.info/archives/2557/

wordpress 記事制限 時間 まとめ

結局 下書きは書けるけど
公開はできないという制限はうまくいかなかった

12時間に1記事と制限はできたが
下書きは書けない

デフォルトユーザーには効かない という
プラグイン
Post Creation Limits(Bainternet Posts Creation Limits)

はじめはLimit Postsを入れたが
下書きを書き溜めたらいくつでも公開できた
https://wordpress.org/support/plugin/limit-posts
今後できるようにするらしいからチェックしよう

Post Creation Limits(Bainternet Posts Creation Limits)
もanyにしなければ同じ事ができた。

/カスタムフィールドからgooglemapの経度緯度を取得し 入れるコード

//カスタムフィールドからgooglemapの経度緯度を取得し 入れるコード
function replace_post_address($id) {
    $post = get_post($id);
    // post_typeを判定(post, page, カスタム投稿)
    if( $post->post_type == 'shop' ){
	    $custom_fields = get_post_custom($id);
	    $custom_field_address = $custom_fields['所在地'];
	    $googleMapsApiData = json_decode(@file_get_contents('http://maps.google.com/maps/api/geocode/json?sensor=false&address='.urlencode($custom_field_address[0])),ture);
		//緯度経度を取得
$lat = $googleMapsApiData['results'][0]['geometry']['location']['lat'];//コレが緯度
$lng = $googleMapsApiData['results'][0]['geometry']['location']['lng'];//コレが経度

		// カスタムフィールド(_lat)がセットされているか
    	if (isset($custom_fields['_lat'][0])) {
			update_post_meta($id, '_lat', $lat);
    	} else {
    		add_post_meta($id, '_lat', $lat);
    	}

    	if (isset($custom_fields['_lng'][0])) {
			update_post_meta($id, '_lng', $lng);
    	} else {
    		add_post_meta($id, '_lng', $lng);
    	}
    }
}
add_action( 'wp_insert_post', 'replace_post_address' );

参考

http://com4tis.net/wordpress-customfield-use-customfield-register/
http://www.sandalot.com/wordpress%E3%81%A7%E6%96%B0%E8%A6%8F%E6%8A%95%E7%A8%BF%E6%99%82%E3%80%81%E5%88%A5%E3%81%AA%E6%8A%95%E7%A8%BF%E3%82%82%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/
http://smkn.xsrv.jp/blog/2012/12/post-number-to-latlng-with-google-maps-ap/
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/update_post_meta

http://easyramble.com/wordpress-meta-keywords-with-custom-field.html

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_post_meta

春日井ナビ

管理者以外で特定カテゴリーへの投稿を制限する「admin-only-categories」

クーポン時のループ

空の時

<?php
	$args = array(
		'posts_per_page' => 6,
			'post_type' => 'shop', //カスタム投稿名
'orderby' => 'modified',//更新順
		'tax_query' => array(
			'relation' => 'AND',
			array(
				'taxonomy' => 'otherall',
				'field' => 'slug',
				'terms' => array( 'クーポン無し', '予備' ),
				'operator'=>'NOT IN'
				)
		),
		   'meta_query' => array(//カスタムフィールドによる絞り込み
            array(
                'key' => 'クーポン見出し',//カスタムフィールド名
               'value' => '',
		'compare'=>'NOT IN'
            ),
        ),
	
	);
?>

1カラムにする

http://www.560designs.com/memo/220.html
通常の投稿の場合

function 【メソッド名】( $result, $option, $user ) {
	return 1;
}
add_filter( 'get_user_option_screen_layout_post', '【メソッド名】', 10, 3 );

カスタム投稿タイプの場合

function 【メソッド名】( $result, $option, $user ) {
	return 1;
}
add_filter( 'get_user_option_screen_layout_【post_type】', '【メソッド名】', 10, 3 );

seoの話 引越 メタリフレッシュ

以上みてきましたように、meta refreshを0に設定すると、リダイレクトはされるものの、新URLが検索エンジンにインデックスされないということを確認しました。
http://web-laboratories.com/meta-refresh-0second
子の記事に寄ると

0で飛ばすと 駄目らしい

知らんかった
ラミルさんのやつで やったけど
それがいかんかったら
調整しといたがどうyが

カスタムアドミン カテゴリ部分 お客のやつ 親カテゴリとか出さない

/*新規カテゴリを作らせない*/
body.post-type-post #category-add-toggle,
body.post-type-shop #shop_cat-add-toggle{ display:none;}


/*親カテゴリ選択させない*/
#newgallery1_cat_parent,
#newmaintenance_cat_parent{ display:none;}

/*カテゴリ作成ページで親とかスラッグを消す タググラウドも
 #addtagを入れると編集ページは表示される*/

/*body.edit-tags-php #addtag .term-parent-wrap,*/
body.edit-tags-php .term-parent-wrap,
body.edit-tags-php .term-slug-wrap,
body.edit-tags-php .term-description-wrap,
body.edit-tags-php .tagcloud
{display:none;}

複数全角スペースを1個に置き換えて 改行を全角スペース2こに変換して表示

<?php $ryoukin = preg_replace("/[ ]+/u"," ",get_post_meta($post->ID,料金,true)); 
 $ryoukin =str_replace("\r\n", '  ', $ryoukin);
 echo $ryoukin;?>

さんこう
http://oshiete.goo.ne.jp/qa/2138841.html
http://fdays.blogspot.jp/2008/02/pregreplace.html
http://www.koikikukan.com/archives/2013/07/12-011111.php
http://php.net/manual/ja/function.nl2br.php

geo mashup 春日井ナビ2016

リファレンス
https://github.com/cyberhobo/wordpress-geo-mashup/wiki/Tag-Reference

オプション

マーカーを変えるには
設定 タクソノミーをチェック
タブで タームにカラーが出てくる
各インサート

ディレクトリ プラグイン/ゲオ/img/ mm36.pngを入れ替える
デフォルトがレッドだから
その他を使うとチェックしてないと
解りやすい

新しくタクソノミーを作成した。ので

ちなみに
プラグインフォルダの
インフォphpが必要 バージョンアップきおつけて

iフレームだからcssちょくがき

<style type="text/css">
.locationinfo h2 { font-size:14px; margin-bottom:5px;
}
.sam_map{ float:left;
padding-right:10px; padding-top:10px; padding-left:10px;}
a{color:#3F8CFF;}
.catebox {
	font-size: 10px;
	padding-left: 3px;
	padding-right: 3px;
	line-height: 1.5;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	margin-right: 0px;
	color: #FFF;
	background-color: #39F;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	display: inline-block;
	padding-top: 0px;
	padding-bottom: 0px;
	margin-bottom:5px;
}
	ul{ margin:0; padding:0}
</style>
<div class="locationinfo post-location-info">
<?php if (have_posts()) : ?>
	<?php while (have_posts()) : the_post(); ?>
    
    <!--サムネイル-->    
    <div class="sam_map">
 <a href="<?php the_permalink(); ?>">
 <?php if(post_custom('shop_photo')): ?>
<?php
$title= get_the_title();
echo wp_get_attachment_image(get_post_meta($post->ID,"shop_photo",true),array(130,130),0,array('alt'=>$title,'title'=>$title)); ?>
<?php else: ?>
<img src="http://www.xn--hdks669tbwueja.com/img/05navi_no_photo.jpg" width="130" height="130" />
<?php endif; ?>
</a>
</div>
<!--サムネイル--> 
		<h2><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
      <!--記事タクソノミーターム リンクあり 1個--->
<?php
$dd_terms = wp_get_object_terms( $post->ID, 'shop_cat',array( 'orderby' => 'term_id', 'order' => 'DESC' ));
if ( ! empty( $dd_terms ) ) {
	if ( ! is_wp_error( $dd_terms ) ) {
		echo '<ul class="page_cate_ul">';
		$i = 0;
$kiji = 1;
			foreach( $dd_terms as $term ) {
				if($i >= $kiji){
break;}
else{
				echo '<li class="catebox">' . esc_html( $term->name ) . '</li>'; 
			}
		echo '</ul>';
		$i++;
		}
	}
}
?>
<?php echo get_post_meta($post->ID,"所在地",true); ?><?php echo get_post_meta($post->ID,"建物名",true); ?><br />
☎<?php echo get_post_meta($post->ID,"電話番号",true); ?><br />
定休日:<?php echo nl2br(get_post_meta($post->ID,定休日,true)); ?>
</p>
	
		<?php if ($wp_query->post_count == 1) : ?>
			<div class="storycontent">
				<?php the_excerpt(); ?>
  </div>
		<?php endif; ?>
        
        <div style="clear:both;"></div>
	<?php endwhile; ?>
<?php else : ?>
	<h2 class="center">Not Found</h2>
	<p class="center">Sorry, but you are looking for something that isn't here.</p>
<?php endif; ?>
</div>

投稿タイプを変更するときのコツ 春日井ナビ ポストタイプ替え

予めタクソノミーを作り それをアドバンスカスタムで記事に新ポストタイプと旧ポストタイプにアサイン
旧記事にて全カテゴリをアサインしなおしてから
新たなポストタイプに一覧からイッキに変換

なぜ予め変えるかというと
8つのポストタイプを1個にまとめるので
入れ替えてからカテゴリをつけ直す際
1ポストタイプ目以降時系列で入ってくるため
編集しずらい

絶対