スケジュール 過去・今日・未来 アーカイブでcss分岐 宇宙船演算子

            <?php
$sche_date = date_create(get_field('schedule_day'));//スケジュールDAY
$sche_date = date_format( $sche_date,'Ymd');///スケジュールDAY

$today = date("Ymd");//今日

//    	echo "<pre>";
//	print_r($today);
//	echo "</pre>";
//    	echo "<pre>";
//	print_r($sche_date);
//	echo "</pre>";

if(($today <=> $sche_date) == 1){$sche_date_css = 'kako_suke';}//過去
elseif(($today <=> $sche_date) == -1){$sche_date_css = 'mirai_suke';}//未来
elseif(($today <=> $sche_date) == 0){$sche_date_css = 'kyou_suke';}//今日

//echo $sche_date_css;
?>
<article class="blog_new_kijibox <?php echo $sche_date_css;?>">

参考

http://php.net/manual/ja/language.operators.comparison.php

PHP 7の宇宙船演算子の使い方

<?php
$a = 10;
$b = 100;
 
if (($a <=> $b) == 0) {
  echo '$aと$bは一致する';
} elseif (($a <=> $b) == 1) {
  echo '$aは$bより大きい';
} elseif (($a <=> $b) == -1) {
  echo '$aは$bより小さい';
}
?>

wp_list_categories にクラス get_terms current-cat

 <ul class="li_menu_ul">
   
<?php
$terms = get_terms('schedule_year');
foreach ($terms as $term ) {
//カレントカテのために追加
$term_id = $term->term_id;//現在のタームID
$taxonomy_name =	get_query_var('taxonomy');//現在のタクソノミー名
$current_calss = '';//カレント空に
if(is_tax($taxonomy_name , $term_id))://なら
$current_calss = ' current-cat';
endif;//おわり
  $des_list .= '<li class="des-'. $term-> slug . $current_calss .'">';
  $des_list .= '<a href="' . get_term_link( $term ) . '" class="f_button">';
  $des_list .= $term->name . '</a></li>';
}
echo $des_list;
?>
  </ul>
  
  <!--2個めは $des_list2 -->
  
    <ul class="li_menu_ul">
   
<?php
$terms = get_terms('schedule_cat');
foreach ($terms as $term ) {
//カレントカテのために追加
$term_id = $term->term_id;//現在のタームID
$taxonomy_name =	get_query_var('taxonomy');//現在のタクソノミー名
$current_calss = '';//カレント空に
if(is_tax($taxonomy_name , $term_id))://なら
$current_calss = ' current-cat';
endif;//おわり
  $des_list2 .= '<li class="des-'. $term-> slug . $current_calss .'">';
  $des_list2 .= '<a href="' . get_term_link( $term ) . '" class="f_button">';
  $des_list2 .= $term->name . '</a></li>';
}
echo $des_list2; ?>
  </ul>

参考

wp_list_categories を使わずにカテゴリ・タームリストを表示

WordPressのカスタム投稿タイプを取得するいくつかの方法


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/is_tax

カテゴリーリストにcurrent クラス

タクソノミーにブログのようにデフォルトをつけれるファンクション

WordPressのカスタムタクソノミーにデフォルトを設定してみる

//http://www.warna.info/archives/678/
//カスタムタクソノミーにデフォルトを設定
function add_default_term_setting_item() {
    $post_types = get_post_types( array( 'public' => true, 'show_ui' => true ), false );
    if ( $post_types ) {
        foreach ( $post_types as $post_type_slug => $post_type ) {
            $post_type_taxonomies = get_object_taxonomies( $post_type_slug, false );
            if ( $post_type_taxonomies ) {
                foreach ( $post_type_taxonomies as $tax_slug => $taxonomy ) {
                    if ( ! ( $post_type_slug == 'post' && $tax_slug == 'category' ) && $taxonomy->show_ui ) {
                        add_settings_field( $post_type_slug . '_default_' . $tax_slug, $post_type->label . '用' . $taxonomy->label . 'の初期設定' , 'default_term_setting_field', 'writing', 'default', array( 'post_type' => $post_type_slug, 'taxonomy' => $taxonomy ) );
                    }
                }
            }
        }
    }
}
add_action( 'load-options-writing.php', 'add_default_term_setting_item' );
 
 
function default_term_setting_field( $args ) {
    $option_name = $args['post_type'] . '_default_' . $args['taxonomy']->name;
    $default_term = get_option( $option_name );
    $terms = get_terms( $args['taxonomy']->name, 'hide_empty=0' );
    if ( $terms ) : 
?>
    <select name="<?php echo $option_name; ?>">
<option value="0">設定しない</option>
<?php foreach ( $terms as $term ) : ?>
<option value="<?php echo esc_attr( $term->term_id ); ?>"<?php echo $term->term_id == $default_term ? ' selected="selected"' : ''; ?>><?php echo esc_html( $term->name ); ?></option>
<?php endforeach; ?>
    </select>
<?php else: ?>
    

<?php echo esc_html( $args['taxonomy']->label ); ?>が登録されていません。

<?php endif; } function allow_default_term_setting( $whitelist_options ) { $post_types = get_post_types( array( 'public' => true, 'show_ui' => true ), false );
    if ( $post_types ) {
        foreach ( $post_types as $post_type_slug => $post_type ) {
            $post_type_taxonomies = get_object_taxonomies( $post_type_slug, false );
            if ( $post_type_taxonomies ) {
                foreach ( $post_type_taxonomies as $tax_slug => $taxonomy ) {
                    if ( ! ( $post_type_slug == 'post' && $tax_slug == 'category' ) && $taxonomy->show_ui ) {
                        $whitelist_options['writing'][] = $post_type_slug . '_default_' . $tax_slug;
                    }
                }
            }
        }
    }
    return $whitelist_options;
}
add_filter( 'whitelist_options', 'allow_default_term_setting' );
 
 
function add_post_type_default_term( $post_id, $post ) {
    if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || $post->post_status == 'auto-draft' ) { return; }
    $taxonomies = get_object_taxonomies( $post, false );
    if ( $taxonomies ) {
        foreach ( $taxonomies as $tax_slug => $taxonomy ) {
            $default = get_option( $post->post_type . '_default_' . $tax_slug );
            if ( ! ( $post->post_type == 'post' && $tax_slug == 'category' ) && $taxonomy->show_ui && $default && ! ( $terms = get_the_terms( $post_id, $tax_slug ) ) ) {
                if ( $taxonomy->hierarchical ) {
                    $term = get_term( $default, $tax_slug );
                    if ( $term ) {
                        wp_set_post_terms( $post_id, array_filter( array( $default ) ), $tax_slug );
                    }
                } else {
                    $term = get_term( $default, $tax_slug );
                    if ( $term ) {
                        wp_set_post_terms( $post_id, $term->name, $tax_slug );
                    }
                }
            }
        }
    }
}
add_action( 'wp_insert_post', 'add_post_type_default_term', 10, 2 );

welacrt sonypayment ソニーペイメント どうだったか 流れ

まず問い合わせ、 会社が契約

テスト環境が送られてくる

【e-SCOTT_Smart_light_for_Welcart】加盟店接続情報【   】.xlsx

設定して

 

御社購入テスト
カード決済販売テスト
御社カード決済の管理画面等チェック

自動メール等の設定
メール配信方法など購入後のフロー確認

セキュリティ上 グローバルIPを設定

インフォメーションとブログの修正

まずインフォのコード修正
d_roop/
a_info1.php

        <?php
 // カテゴリー情報を取得
	
foreach( ( get_the_category() ) as $category ):
	$cat_name ='';//子
	$cat_name2 ='インフォメーション';//親
		if($category -> parent  ==  30 ){$cat_name = $category -> name;}
	if($category -> term_id  ==  30 ){$cat_name2 = 'インフォメーション';}	
endforeach;
	

//		echo "<pre>";
//	print_r($cat_name);
//	echo "</pre>";
	
	
	
	
//$info_cat = get_the_category();
//	echo "<pre>";
//	print_r($info_cat);
//	echo "</pre>";
//	
//	
//$info_cat1 = $info_cat[1]; // 0が親11がその子・・ファンクションの並び順をオーダー通りに出力のおかげ 
//$cat_name = $info_cat1->cat_name;
//	
//$info_cat2 = $info_cat[0]; // 
//$cat_name2 = $info_cat2->cat_name;
?>    

そしてカテゴリ 
ブログ一覧に表示しない
を作成 IDを把握
fanction/
admin_site.php
$info_cat_outを修正

//インフォカテゴリ
$info_cat= '30';
$info_cat_out= '-283';//任意

ループコード等修正
アーカイブ

<?php
if ( have_posts () ) :
    while ( have_posts() ) :
        the_post();
?>


//ここの分岐を削除
<?php include(get_stylesheet_directory() . "/roop_blog.php"); ?>


            <?php
    endwhile;
		else:?>
    <div class="top_set"><div style="font-size:12px; color:#CCC; padding-top:10px;">※記事はまだありません。</div></div>
	<?php
endif;
?>

blog topなど
$info_cat_outを利用していないなら
変更

<?php query_posts('post_type=post&cat='.$info_cat_out.'&paged='.$paged); ?>

スマホ PC スライダー 画像 変更 スライダーC

CSSのみで変更可能

スマホサイズは

背景画像変更

@media screen and (max-width: 736px) {
.sl1{
	background-image: url(/wp-content/themes/D/d/img/slider/slide1s.jpg);
	}
	
	.sl2{
	background-image: url(/wp-content/themes/D/d/img/slider/slide2s.jpg);
	}
}

@media screen and (max-width: 736px) {
/*	スマホ別画像 */
#main_contents_top_fade:before,
.viewer ul:before {	
	    padding-top: 61%; /* 1200で400の高さ */
}

}

ちなみにこの場合は
スマホ
542 × 333

タグの数を指定して、それ以上だとmore..で表示する。

https://teratail.com/questions/30219

$posttags = get_the_tags();
$count=0;
if ($posttags) { 
  foreach($posttags as $tag) {
    $count++;
    if ($count > 3) break; 
    echo '<a href="'. get_tag_link($tag->term_id) .'">'. $tag->name .' ('. $tag->count .")</a>\n";
  }
}

を参考

<div style="margin-bottom:-44px; padding-top:44px; font-size:12px;" class="d_tag">
 

 <?php 
 $posttags = get_the_tags();
$count=0;
if ($posttags) { 
  foreach($posttags as $tag) {
    $count++;
    if ($count == 42) : echo'<span class="tag_close">More..</span><div class="tag_close_con">'; endif;
    echo '<a href="'. get_tag_link($tag->term_id) .'">'. $tag->name 
		//.' ('. $tag->count 
		."</a>
	";
	  
	
  }
	  if ($count >= 42) : echo'</div>'; endif;
}
	
?>
 
  <?php// the_tags('タグ : ',' '); ?>
</div>

//ブログ シングル

	.d_tag{
a ,.tag_close{
 font-size: 10px !important; /* 文字のサイズ */
 line-height: 1em;
 background: #ccc; /* 背景色 */
 color: #fff; /* 文字色 */
 display: inline-block;
 white-space: nowrap;
 padding: 8px 8px; /* 文字周りの余白 */
 margin-top: 3px; /* タグ同士の余白 */
 border-radius: 4px; /* 角を少し丸く */
 text-decoration: none;
}
a:hover ,.tag_close:hover{
 background: #f9d635; /* マウスホバー時の背景色 */
 color: #2098a8; /* マウスホバー時の文字色*/
}
	
	a:before {
font-family:'fontello';
content: '\e856';
 padding-right: 4px;
}
		
	.tag_close{
	cursor: pointer; display: inline-block;}
	.tag_close_con{display: none;}
	}

こいつはヘッダーに
roopに入れると記事全部読むでオープン・クローズが繰り返される

<!--タグのmore-->
 <script>
	$(function(){
		$(".tag_close").on("click", function() {
			$(this).next().slideToggle();
		});
	});
</script>

welcart のパンくずで sting で沢山ですぎていらないといわれたやつ

2019改造

<div id="top_navi">
<?php
//記事中のすべてのカテゴリを取得
$categories = get_the_category();
        
 
     
//      echo 
// "<pre>";
//  print_r($categories);
//  echo "</pre>";
 
//フォーチ 連多次元想配列  並び替え---------
//ソート用の配列を下準備
$amounts = array();
foreach($categories as $key):
    $amounts[] = $key -> parent;
    //$amounts[] = $key['name'];
endforeach;
 
//  連多次元想配列 並び替え
array_multisort($amounts, SORT_ASC, SORT_STRING, $categories);
 
//      echo 	  
//  "<pre>";
//  print_r($amounts);
//  echo "</pre>";
 
//カテゴリがある場合の実行
if ( $categories ) {
 
  //カテゴリの数だけ繰り返す
  foreach( $categories as $category ) :
	
 
    //カテゴリを親まで辿って表示
      //商品を表示させないためファンクションで作成したget_category_parentsの変形 2019??
	
//2019追記
	
//	      echo 	  
//  "<pre>";
//  print_r($category);
//  echo "</pre>";
// 商品 と ジャンルのパンくずを消す
	if( $category->term_id !== $welcart_cat && $category->term_id !== $welcart_genre ) :
	
 
      ?>
<div>
      <?php echo my_category_parents($category->cat_ID,true," > ");
 
    ?>
       </div>
 
      <?php 
	endif;
	endforeach; } ?>   
</div>

ファンクも改造

//パンくずに仕様 get_category_parentsでは商品がでてしまうのでコレを作る
function my_category_parents( $id, $link = false, $separator = '/', $nicename = false, $visited = array() ) {
    $chain = '';
    $parent = &get_category( $id );
    if ( is_wp_error( $parent ) )
        return $parent;
 
    if ( $nicename )
        $name = $parent->slug;
    else
        $name = $parent->name;
 
    if ( $parent->parent && ( $parent->parent != $parent->term_id ) && !in_array( $parent->parent, $visited ) ) {
        $visited[] = $parent->parent;
        $chain .= my_category_parents( $parent->parent, $link, $separator, $nicename, $visited );
    }
	
	
	
	//除外したいカテゴリIDを入れる
	global $welcart_cat;//関数内でグローバル変数を使いたいので呼び出す
	//global $welcart_genre;//関数内でグローバル変数を使いたいので呼び出す
	
    if ( ! in_array( $parent->term_id, array( $welcart_cat,1 ) ) ) {
        if ( $link )
            $chain .= '<a href="' . get_category_link( $parent->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $parent->name ) ) . '">'.$name.'</a>' . $separator;
        else
            $chain .= $name.$separator;
    }
    return $chain;
}

htaccessで ブラウザのキャッシュの時間を調整する

<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 30 minutes"
ExpiresByType text/html "access plus 10 seconds"
ExpiresByType text/css "access plus 10 seconds"

ExpiresByType image/jpg "access plus 7 days"
ExpiresByType image/jpeg "access plus 7 days"
ExpiresByType image/gif "access plus 7 days"
ExpiresByType image/png "access plus 7 days"

ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
</ifModule>

ブラウザキャッシュを有効にしつつCSSファイルも更新させる方法【サイト軽量化&高速化計画】

welcart Top カテゴリ 記事一覧などで役立つコード リンク先

  <?php
	$dslug = $dterm -> slug;
	//echo $dslug;
	$term_link = get_term_link($dslug,category);
	//print_r($term_link) 
	//----------------------カテゴリタイトル-----------------------------
	//カウントで分岐もできるな
//	$dcount = $dterm -> count;
//	echo $dcount;
	?>
	
		    <div class="tsuzuki_box">
    <a href="<?php echo $term_link; ?>" class="link_all link_bottan" style=" font-size:13px;"><?php echo $dterm -> name; ?> ▶▶</a>
    </div>

ループ内

多次元配列の並び替え

PHPのarray_multisort関数が激便利だったので紹介

 

http://php.net/manual/ja/function.array-multisort.php

 

 

//フォーチ 連多次元想配列	並び替え---------
//ソート用の配列を下準備
$amounts = array();
foreach($dterms2 as $key):
	$amounts[] = $key -> name;
	//$amounts[] = $key['name'];
endforeach;
	
//		echo "
<pre>";
//	print_r($amounts);
//	echo "</pre>

";

//	連多次元想配列	並び替え
array_multisort($amounts, SORT_ASC, SORT_STRING, $dterms2);

//	echo "
<pre>";
//	print_r($dterms2);
//	echo "</pre>

";

https://www.stingmuzik.com/%E5%9C%B0%E5%9F%9F%E3%81%8B%E3%82%89%E6%8E%A2%E3%81%99

このページでは
ダブルで並び替えた

 //親のIDをget_termsへ
$args = array('hide_empty'    => false,
			 'childless' => true);
//子ターム一覧を取得
$dterms=get_terms('artist_chiiki',$args);
	//print_r($dterms)
	
	
//フォーチ 連多次元想配列	並び替え---------
//ソート用の配列を下準備
$amounts = array();
$amounts2 = array();
foreach($dterms as $key):
	$amounts[] = $key -> parent;
		$amounts2[] = $key -> term_order;
	//$amounts[] = $key['name'];
endforeach;
	
//		echo "<pre>";
//	print_r($amounts);
//	echo "</pre>";
	
//	連多次元想配列	並び替え
array_multisort($amounts, SORT_ASC, SORT_NUMERIC,$amounts2, SORT_ASC, SORT_NUMERIC,$dterms);
	
//	echo "<pre>";
//	print_r($dterms);
//	echo "</pre>";

MAMP3 から MAMP4へのアップグレード手順

まず、DB ヴァーチャルホストhttpd-vhosts.conf、httpd-ssl.confをコピー保存 バックアップ

新MAMP をDL インストール カスタム MAMP のみ

新しく、MAMPがインストされ、今までのが、MAMP_日付とされる

新しい、MAMPをまず起動してみる。
きどうできればOK
設定で ポート設定 80 & 3306を使用しよう

劇ハマりしたのはここ
phpのバージョン設定 最新の7.2.1になっておると
ローカルでワードプレスのサイトが起動・表示しない、バグってしまうなど色々な状態

これを7.1.12 に変更したら動いた。

その前の段階の手順
/Applications/MAMP/conf/apache
のhttpd.conf
のhttpd-vhosts.conf
httpd-ssl.confのコメントアウトをやめる
httpd-ssl.conf
httpd-vhosts.conf
を過去のものから持ってくる。 正しいのを!
これも間違えて、パスがとうらないものでやったらMAMPが起動しなかった

またssl.confの暗号鍵なのパス記述通りにファイルがないといけないので
apacheに
server.crt
server.csr
server.key
をコピペ

これはhttpsでアクセスできるようにするの回で、制作したやつ。

TOPぺーじしか表示されない
https://qiita.com/musica_gatto/items/5dc8d8c8a57b261488c2

AllowOverride All         ←”none”を”All”に変更

データベース大きいとアップできないので

>>>
「php5.6.2」のフォルダは、先ほど調べたphpのバージョンに合わせて選ぶ形になります。続いてconfフォルダ内にある「php.ini」を開きます。
そこで、
post_max_size
upload_max_filesize
memory_limit
の項目のサイズを目的のサイズに変更していきます。上記のサイズは「post_max_size < upload_max_filesize < memory_limit」とする必要があります。 設定が完了したら、Apacheを再起動すれば完了です。 >>>

MAMPのphpMyAdminでインポートするファイル上限をアップする方法

新しいワードプレスはこれでいけたっぽいが
バージョンが古い 3.8とかのものだと
php7だと
お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。
と出て、
phpのバージョンを5.632に戻すと
表示された。

しかし、やはり7の方が速度が早いようだ。

データベースのバージョンアップを促すような表示がいくつか出てが
ツール → アップデート mysql database
実際なにもせずに、古いデータベースをそのままでいけた。

デバッグした結果
mysqlが 5.5 から 5.6になったから その問題があるのか?
と思って心配して混乱したが
実際はphpのバージョン httpd.confの問題だッかもしれない

このまま問題なくいければ

念のため 新MAMP と 過去MAMPのDPをわけて SSD960に保存 後 各シンボリックリンクで保存

今後の問題
・pro を導入するか?
デメリット
hosterが使えない また ホストの切り替えがスムーズでない
SSLを簡単にできそうだが 結局 キーチェンアクセスに毎回登録しないと 警告がでる
これはオレオレ認証局が鍵を握っているがよくわからない

メリット
ホスターなし、バーチャルホスト直いじらなくともローカル設定ができる//ただホストの切り替えが悪い//また毎回MAMPを再起動
キーチェンアクセスに毎回登録すれば一応ローカルでも保護された通信となる//ただホストの切り替えが悪いため、切り替わったかわかりずらいので 保護された通信でなくともよいかも
無線ラン内でスマホでもローカルにアクセスできるらしい//これはよいね アップしなくとも確認できるのは

サイトによってphpのバージョンが切り替えれる

いままで通り
httpd-vhosts.conf でサイトの追加をするくらいは 特に問題ない 80 も 443も

・ローカルSSLどうするか
結局1回のみの警告なら受け入れれるが 毎回や作業中にでなければよい
保護された通信となった場合 ローカルか サイトか わかりにくい

毎回自己証明をキーチェンに登録するには面倒
毎回ターミナルで認証を発行するのは面倒

 

 

ホストの切り替えが遅い件
現状でも同じだったようで多分SSLのせいで切り替えが遅くなっている模様

 

さて、MAMPのバージョンアップはできたと言っても良い

新しい MAMP
古い MAMPを両方使おうとするならば

MAMP2とする方の
httpd.confに書いてあるパスを
app/mamp2/と変更しないと

MAMP2の方でも MAMP フォルダの ファイルを使用することになるので注意

DBに関してはどうだ?
これはパスがどおとおているかわからない。
起動したフォルダ内のDBがつかかれるのか
app/mamp/とどこかでぱすがとおっているのか?

ためしにやってみたら、起動しなかったので
やはり/MAMP/とパスが通ってそう。

なので両方使いたいなら 毎回 アプリのファイル名の付け替え

MAMP
MAMP_2

を繰り返すことだね!
そうすればhttpd.confに書いてあるパスを
app/mamp2/と変更しなくてもとい

 

そしてPROを検証してみた。

結局ホストの切り替えが遅いのはsslのせいだと思う。
(未検証)
pro のホストには ::1 みたいなv6 なんとかとかのコードもささってて
よさげ

Macの/etc/hostsに記述したローカル用サブドメインへのアクセスが遅い

PROの設定ファイルは
httpd.conf
/Library/Application Support/appsolute/MAMP PRO/conf
にあった

あと
/Users/doggstar/Library/Application Support/appsolute/MAMP PRO/

にも

 

DBは
/Library/Application Support/appsolute/MAMP PRO
内にあるのが使われる なので、シンボリックリンクでMAMPと共有もできるし
テストでは別にした。コピーしてシンボリックした。

また
/Library/Application Support/appsolute/MAMP PRO/conf
には

このようにファイルが入っているが
これを直接エディタでいじくっても、Proを起動させると、前回の内容にもどってしまう。
これには
/Users/doggstar/Library/Application Support/appsolute/MAMP PRO/

temp のファイルが関わってると思って 試しに消してみて再起動してみたら
エディタで変えたものそのままでなく、どこからともなく現れた
最初のProの初期設定に書き換わっていた。

なのでProは直接ファイルをいじるのではなく、Proのエディタから修正しなければならない。

また大きな問題がひとつ
Proのメリット がサイトによってPHPを変更できる点であるが
そのモードにすると
PHP MY ADMIN で32MBのファイルをインポートしようとすると
30秒以上でタイムアウトし、Internal Server Errorが出てしまう。
しかし、そのくせ、インポートは続いているようで、終わるまで戻る操作ができずに、インポートが終わると戻れて、実際インポートできているようだった。

この30秒のタイムアウトだけなんとかしたいと色々調べると
デバッグすると

module mode だと普通に読み込めることがわかったので
CGI mode の phpが問題だということまでわかったが

どこの設定をいじっても30秒でInternal Server Errorが出てしまう。

max_execution_time

[PHP] PHPスクリプトのタイムアウトを調整する

htaccess

【コピペ用】PHPのアップロード容量を変更する.htaccess、php.iniの記述サンプル

などで色々うやったり
MAMPの構造を色々チェックして
phpini とかTIME 30 とかのところを色々探していじったが
どの設定がきいているのか
どこにファイルをさしこめば上書きできるかわからなかって
諦めた。

 

結果
PROを使いたい気持ちが大きくなったが
結局各PHPのバージョン切り替えは行わないか

大きなファイルの時のみ無料版を起動させ
インポートするとか
この場合はDBはシンボリックで同じファイルにしないかん

また
旧サイトをすべてPROに入れるのがめんどい場合
無料版を生かしておき、
過去のサイトの場合は無料版で起動という手もある

しかし、proをつかっていると
private host ファイルがアクセス権がいじられるのでホスターで書き換えできなくなるため
パーミッションをeveryone 読み書きに変えて起動しなければならない一手間もあり。

 

試しにProで

mode を切り替えると
phpのバージョンが全部一括で変更され、

元に戻しても、治らなかったので、一回もどーを変えてインポートするのは現実的ではない。そもそも古いバージョンの需要性はあまりないが。?

 

あと
CGI版の時 phpmyadimin のアパーチが表示がちょがうのに気づいたが何かのヒントになるか?

 

 

 

welcartで会員ページのテーブル レスポンシブ

//カート

//usccart_navi 
div.usccart_navi ol.ucart {
	list-style: none;
	//overflow: hidden; 
	height: auto;
}
div.usccart_navi li.ucart {
	display: block;
	color: #262626;
	font-size: 14px;
	font-weight: bold;
	padding: 0 .909095em 0 1.81818em;
	background: #dedede;
	float: left;
	text-decoration: none;
	text-align: center;
	line-height: 40px;
}
div.usccart_navi li.ucart:before {
	display: block;
	width: 20px;
	height: 20px;
	margin: 0 -20px -20px auto;
	float: right;
	content: " ";
	-webkit-transform: skew(20deg);
	background: #dedede;
	border-right: 4px solid #fff;
	-moz-transform: skew(20deg);
	-o-transform: skew(20deg);
	transform: skew(20deg);
}
div.usccart_navi li.ucart:after {
	display: block;
	width: 20px;
	height: 20px;
	margin: -20px -20px 0 auto;
	background: #dedede;
	border-right: 4px solid #fff;
	position: relative;
	content: " ";
	-webkit-transform: skew(-20deg);
	-moz-transform: skew(-20deg);
	-o-transform: skew(-20deg);
	transform: skew(-20deg);	
}
div.usccart_navi li.ucart:last-child:before,
div.usccart_navi li.ucart:last-child:after {
	border: none;
}

body div.usccart_navi li.usccart_confirm,
body div.usccart_navi li.usccart_confirm:before,
body div.usccart_navi li.usccart_confirm:after,

body div.usccart_navi li.usccart_customer,
body div.usccart_navi li.usccart_customer:before,
body div.usccart_navi li.usccart_customer:after,

body div.usccart_navi li.usccart_cart,
body div.usccart_navi li.usccart_cart:before,
body div.usccart_navi li.usccart_cart:after,

body div.usccart_navi li.usccart_delivery,
body div.usccart_navi li.usccart_delivery:before,
body div.usccart_navi li.usccart_delivery:after
{

	color: #fff;
	background-color: #161616;
}

div.usccart_navi li.ucart.usccart_confirm, div.usccart_navi li.ucart.usccart_confirm:beforee, div.usccart_navi li.ucart.usccart_confirm:after {
    color: #fff;
	background-color: #161616;}


div.header_explanation{clear: both;}

//確認テーブル

#confirm_table td{font-size: 14px;padding: 12px;}
#confirm_table .ttl{background: @site_color_main}
#confirm_table h3{color: #fff;}


//会員情報
#memberinfo{
.retail{margin-bottom: 24px;}
	
	.order_head_value td{padding: 12px;}
	table .num{font-size: 100%}
	th{font-size: 90%}
	h3{ background: none;
	color: #333;
	font-size: 18px;
	height: auto;
	border: none;
	text-indent: inherit;
		padding-top: 24px; padding-bottom: 12px;
	}
	.customer_form input#zipcode{width: auto; }
	.customer_form input{width: auto; margin-left: 6px; margin-right: 6px;}
	select{font-size: 15px; margin-left: 6px; }
	
	.edit_member,.logout_member{display: none;}
	
	#memberdetail{margin-top: 60px;}
	
	.send input:nth-child(3){display: none}

}

@media screen and (max-width: 736px) {
//ナビ

	div.usccart_navi li.ucart{width:auto;font-size: 11px}
	.back_cart_button,.to_deliveryinfo_button,.back_to_delivery_button{margin-bottom: 12px;}
	
	#customer-info .customer_form input{width: 100%;}
	
	//カート1P目
	#inside-cart{#cart_table{.num,.thumbnail,.stock,.mov_none{display: none;}}}
	
	//カート4P目
	#info-confirm{#cart_table{.num,.thumbnail,.stock,.mov_none,.action{display: none;}}
	
	}
	
	
	#memberinfo{
		  width: 100%;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-all;
		
		#memberdetail{ margin-top: auto;
			th,td{display: block} .blank_cell,.blank{display: none}}
		
		#history_head{th,td{display: block; padding: 12px;font-size: 12px;} 
			thead,tbody{ float: left;width: 50%;}
			tr{display: block;}
		
		}
		
		.retail{.cartrownum,.thumbnail{display: none;} margin-bottom: 60px;}
		
		.customer_form input{width: 100%;}
	}
	
	
	}
.customer_form input{width: 100%;}

これでなぜかテーブルがレスポンではみ出ない

welcart で ブログカードを使う方法

WordPressホーム/wp-includes/theme-compat/

embed-content.php
をテーマフィアルに

<?php
/**
 * Contains the post embed content template part
 *
 * When a post is embedded in an iframe, this file is used to create the content template part
 * output if the active theme does not include an embed-content.php template.
 *
 * @package WordPress
 * @subpackage Theme_Compat
 * @since 4.5.0
 */
?>
	<div <?php post_class( 'wp-embed' ); ?>>
		<?php
		$thumbnail_id = 0;

		if ( has_post_thumbnail() ) {
			$thumbnail_id = get_post_thumbnail_id();
		}

		if ( 'attachment' === get_post_type() && wp_attachment_is_image() ) {
			$thumbnail_id = get_the_ID();
		}

		/**
		 * Filters the thumbnail image ID for use in the embed template.
		 *
		 * @since 4.9.0
		 *
		 * @param int $thumbnail_id Attachment ID.
		 */
		$thumbnail_id = apply_filters( 'embed_thumbnail_id', $thumbnail_id );

		if ( $thumbnail_id ) {
			$aspect_ratio = 1;
			$measurements = array( 1, 1 );
			$image_size   = 'full'; // Fallback.

			$meta = wp_get_attachment_metadata( $thumbnail_id );
			if ( ! empty( $meta['sizes'] ) ) {
				foreach ( $meta['sizes'] as $size => $data ) {
					if ( $data['height'] > 0 && $data['width'] / $data['height'] > $aspect_ratio ) {
						$aspect_ratio = $data['width'] / $data['height'];
						$measurements = array( $data['width'], $data['height'] );
						$image_size   = $size;
					}
				}
			}

			/**
			 * Filters the thumbnail image size for use in the embed template.
			 *
			 * @since 4.4.0
			 * @since 4.5.0 Added `$thumbnail_id` parameter.
			 *
			 * @param string $image_size   Thumbnail image size.
			 * @param int    $thumbnail_id Attachment ID.
			 */
			$image_size = apply_filters( 'embed_thumbnail_image_size', $image_size, $thumbnail_id );

			$shape = $measurements[0] / $measurements[1] >= 1.75 ? 'rectangular' : 'square';

			/**
			 * Filters the thumbnail shape for use in the embed template.
			 *
			 * Rectangular images are shown above the title while square images
			 * are shown next to the content.
			 *
			 * @since 4.4.0
			 * @since 4.5.0 Added `$thumbnail_id` parameter.
			 *
			 * @param string $shape        Thumbnail image shape. Either 'rectangular' or 'square'.
			 * @param int    $thumbnail_id Attachment ID.
			 */
			$shape = apply_filters( 'embed_thumbnail_image_shape', $shape, $thumbnail_id );
		}

		if ( $thumbnail_id && 'rectangular' === $shape ) : ?>
			<div class="wp-embed-featured-image rectangular">
				<a href="<?php the_permalink(); ?>" target="_top">
					<?php echo wp_get_attachment_image( $thumbnail_id, $image_size ); ?>
				</a>
			</div>
		<?php endif; ?>

		<p class="wp-embed-heading">
			<a href="<?php the_permalink(); ?>" target="_top">
				<?php the_title(); ?>
			</a>
		</p>

		<?php if ( $thumbnail_id && 'square' === $shape ) : ?>
			<div class="wp-embed-featured-image square">
				<a href="<?php the_permalink(); ?>" target="_top">
					<?php echo wp_get_attachment_image( $thumbnail_id, //$image_size
					thumbnail
													  ); ?>
				</a>
			</div>
		<?php endif; ?>
		
 <?php if ( usces_is_item() ) : //welcartなら?> 	
	 <div class="wp-embed-featured-image square" style="margin-bottom: 0">
	 <a href="<?php the_permalink(); ?>" target="_top">
		 <?php
//商品画像
usces_the_itemImage(0, 300, 300); ?>
     </a>
      </div>
<?php endif; //welcartなら ?>
	
		<div class="wp-embed-excerpt"><?php the_excerpt_embed(); ?></div>

		<?php
		/**
		 * Prints additional content after the embed excerpt.
		 *
		 * @since 4.4.0
		 */
		do_action( 'embed_content' );
		?>

		<div class="wp-embed-footer" style="display: none">
			<?php// the_embed_site_title() ?>
			

			
			

			<div class="wp-embed-meta">
				<?php
				/**
				 * Prints additional meta content in the embed template.
				 *
				 * @since 4.4.0
				 */
				
				//do_action( 'embed_content_meta');
	
	
				?>
				

			</div>
		</div>
	</div>
<?php

		

とりあえずこうしたぞ

https://ywnb.net/p/201608/3097

レビュープレスは 星がでんかったでやめた。。

さらにカスタム

<?php
/**
 * Contains the post embed content template part
 *
 * When a post is embedded in an iframe, this file is used to create the content template part
 * output if the active theme does not include an embed-content.php template.
 *
 * @package WordPress
 * @subpackage Theme_Compat
 * @since 4.5.0
 */
?>
	<div <?php post_class( 'wp-embed' ); ?>>
		<?php
		$thumbnail_id = 0;

		if ( has_post_thumbnail() ) {
			$thumbnail_id = get_post_thumbnail_id();
		}

		if ( 'attachment' === get_post_type() && wp_attachment_is_image() ) {
			$thumbnail_id = get_the_ID();
		}

		/**
		 * Filters the thumbnail image ID for use in the embed template.
		 *
		 * @since 4.9.0
		 *
		 * @param int $thumbnail_id Attachment ID.
		 */
		$thumbnail_id = apply_filters( 'embed_thumbnail_id', $thumbnail_id );

		if ( $thumbnail_id ) {
			$aspect_ratio = 1;
			$measurements = array( 1, 1 );
			$image_size   = 'full'; // Fallback.

			$meta = wp_get_attachment_metadata( $thumbnail_id );
			if ( ! empty( $meta['sizes'] ) ) {
				foreach ( $meta['sizes'] as $size => $data ) {
					if ( $data['height'] > 0 && $data['width'] / $data['height'] > $aspect_ratio ) {
						$aspect_ratio = $data['width'] / $data['height'];
						$measurements = array( $data['width'], $data['height'] );
						$image_size   = $size;
					}
				}
			}

			/**
			 * Filters the thumbnail image size for use in the embed template.
			 *
			 * @since 4.4.0
			 * @since 4.5.0 Added `$thumbnail_id` parameter.
			 *
			 * @param string $image_size   Thumbnail image size.
			 * @param int    $thumbnail_id Attachment ID.
			 */
			$image_size = apply_filters( 'embed_thumbnail_image_size', $image_size, $thumbnail_id );

			$shape = $measurements[0] / $measurements[1] >= 1.75 ? 'rectangular' : 'square';

			/**
			 * Filters the thumbnail shape for use in the embed template.
			 *
			 * Rectangular images are shown above the title while square images
			 * are shown next to the content.
			 *
			 * @since 4.4.0
			 * @since 4.5.0 Added `$thumbnail_id` parameter.
			 *
			 * @param string $shape        Thumbnail image shape. Either 'rectangular' or 'square'.
			 * @param int    $thumbnail_id Attachment ID.
			 */
			$shape = apply_filters( 'embed_thumbnail_image_shape', $shape, $thumbnail_id );
		}
 if ( usces_is_item() ) : //welcartならなし
	else:
		if ( $thumbnail_id && 'rectangular' === $shape ) : ?>
			<div class="wp-embed-featured-image rectangular">
				<a href="<?php the_permalink(); ?>" target="_top">
					<?php echo wp_get_attachment_image( $thumbnail_id, $image_size ); ?>
				</a>
			</div>
		<?php endif; //welcartならなしおわり
		endif;?>

		<p class="wp-embed-heading">
			<a href="<?php the_permalink(); ?>" target="_top">
				<?php the_title(); ?>
			</a>
		</p>

		<?php if ( $thumbnail_id && 'square' === $shape ) : ?>
			<div class="wp-embed-featured-image square">
				<a href="<?php the_permalink(); ?>" target="_top">
					<?php echo wp_get_attachment_image( $thumbnail_id, //$image_size
					thumbnail
													  ); ?>
				</a>
			</div>
		<?php endif; ?>
		
 <?php if ( usces_is_item() ) : //welcartなら?> 	
	 <div class="wp-embed-featured-image square" style="margin-bottom: 0">
	 <a href="<?php the_permalink(); ?>" target="_top">
		 <?php
//商品画像
usces_the_itemImage(0, 300, 300); ?>
     </a>
      </div>
<?php endif; //welcartなら ?>
	
		<div class="wp-embed-excerpt"><?php 
			//the_excerpt();
			//the_excerpt_embed();
			
			    $description_emb = strip_tags($post->post_content);
      $description_emb = str_replace("\n", "", $description_emb);
      $description_emb = str_replace("\r", "", $description_emb);
	$description_emb = str_replace('"', '*', $description_emb);
      $description_emb = mb_substr($description_emb, 0, 120) . "...";
			
			echo $description_emb;
			
			?>
			<div style="text-align: right">
			<!-- クラス効かない class="link_color" -->
			<a style="color: #f15a24;"
			href="<?php the_permalink(); ?>">
			 <?php if ( usces_is_item() ) : //welcartなら?> 
			 この商品を見る▶︎
			 <?php else: ?>
			 全文を表示する▶︎
			 <?php endif; ?>
			 </a></div>
			</div>

		<?php
		/**
		 * Prints additional content after the embed excerpt.
		 *
		 * @since 4.4.0
		 */
		do_action( 'embed_content' );
		?>

		<div class="wp-embed-footer" style="display: none">
			<?php// the_embed_site_title() ?>
			

			
			

			<div class="wp-embed-meta">
				<?php
				/**
				 * Prints additional meta content in the embed template.
				 *
				 * @since 4.4.0
				 */
				
				//do_action( 'embed_content_meta');
	
	
				?>
				

			</div>
		</div>
	</div>
<?php

		

ReviewPress ループで効かない件 とその他改造

400行目くらいから class-shortcode.php

id raty_rich だからループでおかしくなってたので
クラスにかえ、更に、
記事IDを入れたクラスを付け そこに 星を入れる設定にした。

		$query = new WP_Query( $query_args );

		$total_rating = 0;
		if ( $query->have_posts() ) :
			while ( $query->have_posts() ) : $query->the_post();

			$total_rating += intval( get_post_meta( $post->ID ,'wpbr_review_rating',true ) );
			$parent_title = get_the_title( wp_get_post_parent_id( $post->ID ) );
		
		//tuiki 
		$d_id = $post->ID;

		endwhile;
	
		$rich_rating = "<div class='raty_rich raty_rich".$d_id."' style='color:". review_get_option( 'rating_icon_color', 'wpbr_display' ) ."'></div>";

		if ( 'star' === review_get_option( 'review_icon', 'wpbr_display' ) ) {
			$rich_rating .= "<script>
			jQuery('.raty_rich".$d_id."').raty({
				readOnly : true,
				cancel   : false,
				half     : true,
				score    : '".round( $total_rating / $query->post_count , 2 )."',
				starType : 'i',
				starHalf : 'wpbr-star-half',
				starOff  : 'wpbr-star-off',
				starOn   : 'wpbr-star-on',
			});
			</script>";
		} else {
			$rich_rating .= "<script>
			jQuery('.raty_rich').raty({
				readOnly : true,
				cancel   : false,
				half     : true,
				score    : '".round( $total_rating / $query->post_count , 2 )."',
				starType : 'i',
				starHalf : 'wpbr-heart-half',
				starOff  : 'wpbr-heart-off',
				starOn   : 'wpbr-heart-on',
			});
			</script>";
		}

		ob_start();
		
		?>


<!--シングル-->
	
	<?php if(is_single()):?>		
		<div itemscope itemtype="http://schema.org/Product" class="d_rate">
			<span itemprop="name" style="display:none"><?php echo esc_html( $parent_title ); ?></span>
			<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating" >
				<div class="d_rate2">5つ星のうち<span itemprop="ratingValue"><?php echo esc_html( round( $total_rating / $query->post_count , 2 ) ); ?></span> </div>
<!--				based on-->
				<div class="link_color d_rate3" style="cursor: pointer"> <span itemprop="reviewCount"><?php echo esc_html( $query->post_count ); ?></span>件のレビュー</div>
				<div style="display:none">
					<span itemprop="bestRating">5</span>
					<span itemprop="worstRating">1</span>
				</div>
			</div>
		</div>
		
	<?php else:?>		
<!--ループ-->
				<div itemscope itemtype="http://schema.org/Product" class="d_rate" style="margin-left: -12px;">
			<span itemprop="name" style="display:none"><?php echo esc_html( $parent_title ); ?></span>
			<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating" >
				<div class="d_rate2">5つ星のうち<span itemprop="ratingValue"><?php echo esc_html( round( $total_rating / $query->post_count , 2 ) ); ?></span> </div>
<!--				based on-->
				<div class=" d_rate3">(<span itemprop="reviewCount"><?php echo esc_html( $query->post_count ); ?></span>件)</div>
				<div style="display:none">
					<span itemprop="bestRating">5</span>
					<span itemprop="worstRating">1</span>
				</div>
			</div>
		</div>
		
		<?php endif;?>

		<?php
		$rich_rating .= ob_get_clean();

		return $rich_rating;

	endif;
	wp_reset_postdata();

ベストセラー スティング

//welcartベストセラー サムネイル+順位表示が画像
add_filter('usces_filter_bestseller', 'my_bestseller_func', 10, 3);
function my_bestseller_func() {
    $args = func_get_args();
    list($html, $post_id, $index) = $args;
    $post = get_post($post_id);
    if ( $index == 0 ){
    $img = '/wp-content/themes/D/d/img/rank/1.png';
}    elseif ( $index == 1 ){
    $img = '/wp-content/themes/D/d/img/rank/2.png';
}    elseif ($index == 2){
    $img = '/wp-content/themes/D/d/img/rank/3.png';
}    else {
}
 $index = $index + 1;
	//usces_have_skus();
	global $usces;//計算始め
	$price = usces_the_firstPrice( 'return',$post );//売価
	$tax = $usces->getTax( $price );//売価×基本設定の税額(税計算方法も考慮します)
	$dprice = number_format($price + $tax);	
	$did = $post_id;
	$did2 = '[REVIEWPRESS_RICH_SNIPPET id="'.$did.'"]';
	$did3 = do_shortcode($did2);
	
    $list = '<a href="' . get_permalink($post_id) . '" class="top_new_item_box"><img src="' . $img . '" width="24" style="padding-bottom:6px; padding-right:6px;" /><span class="rank_num">'.$index.'.</span><div class="top_new_item_sam">
' . usces_the_itemImage(0, 300, 300, $post, 'return' ) . '</div><div class="top_item_name">' . $post->post_title . '</div>
      <div class="top_item_disp">¥'.$dprice.'</span><em class="tax">(税込)</em>
	  
	  		  <div>
	'.$did3.'
</div>
		 
</div>




</a>
';
	
    return $list;
}