管理画面 タイトル disp に 文字カウントを足す

WordPress:入力文字数の制限や補足文の追加など、管理画面の抜粋入力欄周りをカスタマイズする方法

参考

// SEO 文字カウント
function excerpt_count() {
?>
<script>
  (function($) {
    var count = 130;
    $('.acf-field-5c64e5255254a label').after('<span style=\"color:#888; font-size:12px;\">現在の文字数: <span id=\"excerpt-count\"></span> / '+ count +'</span>');
    $('#excerpt-count').text($('#acf-field_5c64e5255254a').val().length);
    $('#acf-field_5c64e5255254a').keyup(function() {
      $('#excerpt-count').text($('#acf-field_5c64e5255254a').val().length);
      if ( $(this).val().length > count ) {
        $('#excerpt-count, #acf-field_5c64e5255254a').css('color', '#f00');
      } else {
        $('#excerpt-count,  #acf-field_5c64e5255254a').css('color', '#000');
      }
    });
//    $('#postexcerpt .inside p').html('※ここに入力した内容は一覧画面で <strong>"'+ count +'文字"</strong> までは表示されますが、それ以降は省略表示されます。').css('color', '#888');
  }(jQuery));
</script>


<script>
  (function($) {
    var count = 35;
    $('.acf-field-5c64e6d95254c label').after('<span style=\"color:#888; font-size:12px;\">現在の文字数: <span id=\"excerpt-count2\"></span> / '+ count +'</span>');
    $('#excerpt-count2').text($('#acf-field_5c64e6d95254c').val().length);
    $('#acf-field_5c64e6d95254c').keyup(function() {
      $('#excerpt-count2').text($('#acf-field_5c64e6d95254c').val().length);
      if ( $(this).val().length > count ) {
        $('#excerpt-count2, #acf-field_5c64e6d95254c').css('color', '#f00');
      } else {
        $('#excerpt-count2,  #acf-field_5c64e6d95254c').css('color', '#000');
      }
    });
//    $('#postexcerpt .inside p').html('※ここに入力した内容は一覧画面で <strong>"'+ count +'文字"</strong> までは表示されますが、それ以降は省略表示されます。').css('color', '#888');
  }(jQuery));
</script>


<?php
}
add_action( 'admin_footer-post-new.php', 'excerpt_count' );
add_action( 'admin_footer-post.php', 'excerpt_count' );

add_action( 'admin_footer-edit-tags.php', 'excerpt_count' );
add_action( 'admin_footer-term.php', 'excerpt_count' );

 

 

モバイルメニュー 修正 2回タップ iso

iOS Safariで、リンクメニュー項目が2タップしないとリンク動作しないトラブル対応

という項目が色々あったが

現状では ios で fixed したメニューでそうなっていた

スクロール中は止まるという動作となるので、それも勘違い項目

解決法

念の為

base.lessに

////////iso  fixed タッチ用iso  fixed タッチ用iso  fixed タッチ用iso  fixed タッチ用
@media screen and (min-width: 737px){
    a:hover  {
	color: @link_hover_color;
	text-decoration: underline;
}

////////////////////////////////イメージホバー透明////////////////////////////////

a img:hover{
	opacity:0.7;
filter: alpha(opacity=70);        //ie lt 8
-ms-filter: "alpha(opacity=70)";  //ie 8
-moz-opacity:0.7;                 //FF lt 1.5, Netscape
-khtml-opacity: 0.7;              //Safari 1.x 
}


a:hover img{

	
	opacity:0.7;
filter: alpha(opacity=70);        // ie lt 8 
-ms-filter: "alpha(opacity=70)";  // ie 8 
-moz-opacity:0.7;                 // FF lt 1.5, Netscape 
-khtml-opacity: 0.7;              // Safari 1.x 
}


//透明化させない
a:hover img.no_dhover,#img_box2 img{
opacity:1;
filter: alpha(opacity=100);        // ie lt 8 
-ms-filter: "alpha(opacity=100)";  // ie 8 
-moz-opacity:1;                 // FF lt 1.5, Netscape 
-khtml-opacity: 1;              // Safari 1.x
	}


//透明化少し
a:hover img.no_hover2 {
opacity:0.9;
filter: alpha(opacity=90);        // ie lt 8 
-ms-filter: "alpha(opacity=90)";  // ie 8 
-moz-opacity:0.9;                 // FF lt 1.5, Netscape 
-khtml-opacity: 0.9;              // Safari 1.x 
	}


    }//@media screen 737px 以上はこれ  

////////iso  fixed タッチ用iso  fixed タッチ用iso  fixed タッチ用iso  fixed タッチ用

とし、スマホのホバーをデフォルトを解除

 

モバイルメニューはこれで治らず、

JSを更新したら治った

 

変更点

jsファイル更新

jquery.sidr.min.js

jquery.sidr.dark.css

一応jquery.sidr.light.css jquery.sidr.bare.css

d_mob_menu_css.css は 300pxに変更

 

変更すればいけたが、追加でJSで最初見えないようにした ででてきたから

https://www.j-cool.co.jp/blog/?p=646

.mob_menu{ display:none}
$(document).ready(function() {
      $('#sidr').fadeIn(1000);
  $('.simple-menu').sidr({side: 'right'});
});

参考にならなかった参考下記

https://www.plusdesign.co.jp/blog/?p=1710#spMenu

sidr.jsの使い方(横からスライドするメニュー)

本家 https://www.berriart.com/sidr/

 

business calendar で表示されなくなっった件

大きくミスってしまったのが凡ミスで

<?php echo do_shortcode( '[business-calendar num=2 past=true future=true event=true]' ); ?>

のスペルを間違えてしまってすすめていたこと

php7で推奨されないコードで書かれていたので、買い直したのはまあよかった。 クラスとメソッドが同じ名前はだめというやつ。

Methods with the same name as their class will not be constructors in

こんなエラー

【PHPエラー/解決済】Methods with the same name as their class will not be constructors in


にかいてある感じで

プラグイン開けてみて変更しようと思ったが無理、、

買い直した。

開けてみて、メソッドも増えてるし、まあ 俺には手に負えなかったということで、、。

ここからが問題、、

結果は User Role Editorで
edit_business_calendarという権限を追加したら 治ったということだが、

多分DBのクリーンナップなんかで、消してしまったのだろう、、。
あまりやらないほうがいいな、まえもハマった時ある気がする、。
テンプレでオンオフよくするので、、

サラの worpdressを作成した。実験デバッグにどうぞ。

http://clean-wordpress.com/

macをカタリナ Catalinaに変えた際 2台マック共有での問題

経緯

2012マックをカトリーナにした。タイムマシンでバックアップ

2015マックを2012マックのたいむマシンより復元しコピー

コピーしたものを2015macに使用

 

問題発生

2012マックでは外付けSSDにどのアプリもそのままアクセス

2015マックでは外付けSSDに毎回、フルディスクアクセス もしくは認証をしなければならない。

 

さらにもんだい

2012マックで外付けにおいたファイルをシンボリックして、システムファイルで動かしている

何も問題ない

2015マック

MAMP&MAMP proそれでは動かない

原因

MAMP はhttpd-vhosts.conf がシンボリックではアパー地が動かない

MAMP PROはde.appsolute.mampprohelper.plist がシンボリックでは動かない

 

問題点

トップフラッグなど、

まれにMAMPで動かす場合があるので

その場合、バーチャルホストが共有できない。

2015のを変更したら、コピーしてもっていかないといけない

 

32bit がだめで

シンプルレスがつかえないので

コアラにした。

すべて再設定しなければならない。

 

以上 今の所

 

2015をインストールディスクを利用して、再インストールした。

なぜかというと、2012につなぐと普通にアクセスできるから、、

なので、インストールしたPCで起動する必要がある??

2015につないで、再インストールしてみようとなったわけだ。

ただし、結果は同じ、、

 

ただ、MAMPがつながらないなら(パーミッションエラーで)
PROも同じじゃない? できない??

と思いつなぐとできてる。。。

 

おなじ外付けにおいてあるので、、??リムーバルディスクの問題よりMAMPの問題??とか色々やったが(v-host をちゃんとシンボリックでなく置くとか)できなかったので??

トップフラッグを試しに接続してみると、あら動いてる。。proで、。

まえはhtmlでphpは動かなかったのに、なぜ、、

 

ちなみに、proで遅いのはよくなったぽい。

 

なので、mampは使わず、proのみでやることに、。それで対応 しゅがーのみ動かんが、。

 

これで問題ないかと思ったが、なんとフォントがインストールできていない。

fontexprolerが使えない,,,

 

自分のPCなら何代もOKだたので

購入しました。

外付けにおいても開けた。

いままでの設定で

どうなっているかわからないが、、

サンダーバード プロファイル共有う

しばらくさわってないマックと共有していると,
どうも調子がおかしい、。

どうやらサンダーバードが自動でアップグレードしているためだ。

なので、正常に動くプロファイル.ini等を保存しておく

別PCでバージョンアップしたサンダーバードのプロファイルを利用しようとするとエラーがでるので、新規プロファイルを作成を選択

何もメールアドレス等つくらずに、起動できれば、このサンダーバードについてを見るとわかるが、サンダーバードがバージョンアップするので、再起動。

後に、空のプロファイルに プロファイル&インストールiniが変更されてるので、

元のファイルを上書きして完成

 

タクソノミーd_cate_jirei ポストタイプd_jirei シングルでもwp_list_categories にカレント

//タクソノミーd_cate_jirei ポストタイプd_jirei シングルでもwp_list_categories にカレント
function d_show_current_tram_on_single_d_cate_jirei($output) {
global $post;
if( is_singular( 'd_jirei' )) {
$tarms =wp_get_post_terms($post-&gt;ID, 'd_cate_jirei');
foreach( $tarms as $tarm ) {

$tarmid = $tarm-&gt;term_id;

$dtarm = get_term($tarmid, 'd_cate_jirei');
// Find cat-item-ID in the string
if(preg_match('#cat-item-' . $dtarm-&gt;term_id . '#', $output)) {
$output = str_replace('cat-item-'.$dtarm-&gt;term_id, 'cat-item-'.$dtarm-&gt;term_id . ' current-cat', $output);
}
}

}
return $output;
}

add_filter('wp_list_categories', 'd_show_current_tram_on_single_d_cate_jirei');

wordpress メディア アップロードエラー

wp-config に
define( ‘WP_MEMORY_LIMIT’, ‘256M’ );を追加

メールの履歴を書いとく

最終メール

画像アップ時のプラグインの設定
サーバーの設定で、変更できる部分があったので
それも変更してみました。

少し良くなったようにおもいますので
一度様子見ていただけますか?

よろしくお願いいたします。

それ以前

WPバージョンアップに共ない、
自動サムネイル作成ができない状態になっていました。

作成できるようにあたらしいものに変更しました。
(初めて利用するものなので、今後のアップグレードにどう対応できるかはわかりませんが、なにかありましたら教えてください)

変更にあたって、メディアをアップしてみたらまた、
httpエラー出ていますね、、。

時間をおいたら、アップできました。

WPバージョンアップ後、やはり、サーバーの負荷状態によってできるできないがあるかもしれません。。

アップする際に、自動で10個くらいのサイズに切り抜くようになっていますが、
(色々なサイズを要所要所で使っています)
いくつか減らす事で、改善されるかもしれません。
(設定を解除したら前はエラーが出ないかったです)

あまりにも、アップできないようでしたら、
腰を据えて調査&検証してみますので、
また教えていただけますか?

ご迷惑おかけしますが、何卒よろしくお願いいたします。

ssl https http いいね 引き継ぎ

ヘッダー

	<?php if(is_home()):?>	
<meta property="og:url" content="http://www.yasaka-indus.co.jp" />
<?php endif; ?>
	
<?php include(get_template_directory() . "/5_head/d_3_fb_meta.php"); ?>

htaccess

#BEGIN WordPressより前
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !(Facebot|facebookexternalhit/1.1) [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

デバッガーでチェック 

https
リダイレクト http

となってればOK

https://knowledge.cpi.ad.jp/other/273/

font icon css で表示 webフォント アイコン

a:after{
font-family: 'fontello';
content: ' \e865';
font-size: 80%;}

コンテンツに入れるものは
file:///Volumes/D-Marking%20Design%20SSD960G%2020150712/my_server/client/2019/swag-lla.com/wp-content/themes/newD/0_d/fontcss/fontello/demo.html

でものshow codes だが
0x は実は バックスラッシュということ
毎度忘れるので注意

d-marking リニューアルメモ2020

Post Type Switcher

で制作事例 d_jirei を変更する jireiに
タクソノミーたちも

 

上記なし

結局wpでポストタイプ タクソノミーを空で準備し、

そこにエクスポートした記事をインポートした。

そうすれば、利用しているタクソノミー(ターム)は全部入る

ただし、問題は、画像IDは変わるということ。

そのため、考えたのが、

ファンクションにコードを追加して、画像URLをカスタムフィールドに収めて、
それを含めてインポートするということ、

まず、1つの画像URLは成功した。

ファンク

//カスタムフィールドの画像IDから別カスタムフィールドにURLを保存
function replace_imgid_imgurl($id) {
    $post = get_post($id);
    // post_typeを判定(post, page, カスタム投稿)
    if( $post-&amp;amp;amp;amp;amp;gt;post_type == 'd_jirei' ){
	    $custom_fields = get_post_custom($id);
	    $jirei_gazou_id = $custom_fields['jirei_gazou'];
		
		if ($jirei_gazou_id):
		
		$jirei_gazou_url = wp_get_attachment_image_src($jirei_gazou_id[0],'full');
		$jirei_gazou_url = $jirei_gazou_url[0];
		
		update_post_meta($id, 'jirei_gazou_url', $jirei_gazou_url);
		endif;

    }
}
add_action( 'wp_insert_post', 'replace_imgid_imgurl' );

インポートした後、逆をやれば、いいのでは。。

https://wemo.tech/tips/2262 らしい

$url = 'https://example.com/wp-content/uploads/2019/img_path.jpg';
$img_id = attachment_url_to_postid( $url );
//カスタムフィールドの画像URLから別カスタムフィールドに画像IDを保存
function replace_imgid_imgurl2($id) {
    $post = get_post($id);
    // post_typeを判定(post, page, カスタム投稿)
    if( $post-&amp;amp;amp;amp;gt;post_type == 'd_jirei' ){
	    $custom_fields = get_post_custom($id);
		
	   $jirei_gazou_url = $custom_fields['jirei_gazou_url']; 
		$jirei_gazou_url = $jirei_gazou_url[0];
		
		if ( $jirei_gazou_url):
		
		$jirei_gazou_id = attachment_url_to_postid( $jirei_gazou_url );
		//$jirei_gazou_id = $jirei_gazou_url[0];
		
		update_post_meta($id, 'jirei_gazou', $jirei_gazou_id);
		endif;

    }
}
add_action( 'wp_insert_post', 'replace_imgid_imgurl2' );

一応これでできたわ。

あとはループフィールド
ギャラリーでできるか

 

 

ループフィールドはjirei_gazou_sabsで

jirei_gazou_sabが配列で入ってるだろう

jirei_gazou_sabsはエクスポートした記事にはないがな

 

 

これもできた。

 

////1.メイン画像を旧サイトから書き出す
//画像IDから別カスタムフィールドにURLを保存【カスタムフィールド】
//function replace_imgid_imgurl($id) {
//    $post = get_post($id);
//    // post_typeを判定(post, page, カスタム投稿)
//    if( $post-&amp;amp;gt;post_type == 'd_jirei' or  $post-&amp;amp;gt;post_type == 'jirei' ){
//	    $custom_fields = get_post_custom($id);
//	    $jirei_gazou_id = $custom_fields['jirei_gazou'];
//		
//		if ($jirei_gazou_id):
//		
//		$jirei_gazou_url = wp_get_attachment_image_src($jirei_gazou_id[0],'full');
//		$jirei_gazou_url = $jirei_gazou_url[0];
//		
//		update_post_meta($id, 'jirei_gazou_url', $jirei_gazou_url);
//		endif;
//
//    }
//}
//add_action( 'wp_insert_post', 'replace_imgid_imgurl' );

//1-2.メイン画像を新サイトに戻す
//画像URLから別カスタムフィールドに画像IDを保存【カスタムフィールド】
//※URLはデコードされたちゃんとした日本語でないと出ない。
//function replace_imgid_imgurl2($id) {
//    $post = get_post($id);
//    // post_typeを判定(post, page, カスタム投稿)
//    if( $post-&amp;amp;gt;post_type == 'd_jirei' ){
//	    $custom_fields = get_post_custom($id);
//		
//	   $jirei_gazou_url = $custom_fields['jirei_gazou_url']; 
//		$jirei_gazou_url = $jirei_gazou_url[0];
//		
//		if ( $jirei_gazou_url):
//		
//		$jirei_gazou_id = attachment_url_to_postid( $jirei_gazou_url );
//		//$jirei_gazou_id = $jirei_gazou_url[0];
//		
//		update_post_meta($id, 'jirei_gazou', $jirei_gazou_id);
//		endif;
//
//    }
//}
//add_action( 'wp_insert_post', 'replace_imgid_imgurl2' );


//2.サブ画像を旧サイトから書き出す
//ループフィールドの画像IDからカスタムフィールドにURLを保存【カスタムフィールド】
//function replace_imgid_imgurl3($id) {
//    $post = get_post($id);
//    // post_typeを判定(post, page, カスタム投稿)
//    if( $post-&amp;amp;gt;post_type == 'd_jirei' ){
//		
//		$jirei_gazou_ids ='';//定義
//
//	    $custom_fields = get_post_custom($id);
//		$fields = $custom_fields['jirei_gazou_sab']; 
//		if($fields){
//		foreach ($fields as $field) :
//		$img_url  = wp_get_attachment_image_src($field,'full'); 
//		$img_url = $img_url[0];
//		$jirei_gazou_urls[] = $img_url;
//		
//		endforeach;
//			}
////		
//	if ($jirei_gazou_urls):
//		$jirei_gazou_urls = implode(',', $jirei_gazou_urls);
//		update_post_meta($id, 'sub_img_urls', $jirei_gazou_urls);
//		endif;
//		
//    }
//}
//add_action( 'wp_insert_post', 'replace_imgid_imgurl3' );

// 追記..上記元がギャラリーの場合
function replace_imgid_imgurl32($id) {
    $post = get_post($id);
    // post_typeを判定(post, page, カスタム投稿)
    if( $post-&amp;amp;gt;post_type == 'd_jirei' ){
		
		$jirei_gazou_ids ='';//定義

	    $custom_fields = get_post_custom($id);
		//$fields = $custom_fields['jirei_gazou_sab']; のかわりに
		$fields = get_field('jirei_gazou_sabs');//これがつかえるようだ
		if($fields){
		foreach ($fields as $field) :
		$img_url  = wp_get_attachment_image_src($field,'full'); 
		$img_url = $img_url[0];
		$jirei_gazou_urls[] = $img_url;
		
		endforeach;
			}
//		
	if ($jirei_gazou_urls):
		$jirei_gazou_urls = implode(',', $jirei_gazou_urls);
		update_post_meta($id, 'sub_img_urls', $jirei_gazou_urls);
		endif;
		
    }
}
add_action( 'wp_insert_post', 'replace_imgid_imgurl32' );



//2-1.サブ画像を新サイトに戻す
//複数の画像URLからギャラリーカスタムフィールドにIDを保存【カスタムフィールド】
//※URLはデコードされたちゃんとした日本語でないと出ない。
//function replace_imgid_imgurl4($id) {
//    $post = get_post($id);
//    // post_typeを判定(post, page, カスタム投稿)
//    if( $post-&amp;amp;gt;post_type == 'd_jirei' ){
//        $sub_img_ids ='';
//		$custom_fields = get_post_custom($id);
//		$fields = $custom_fields['sub_img_urls']; 
//		if($fields){ 
//			$fields = explode(',', $fields[0]);
//			foreach ($fields as $field) :
//			
//	$sub_img_id = attachment_url_to_postid( $field );
//	$sub_img_ids[] = $sub_img_id;
//		endforeach;
//			}		
//		update_post_meta($id, 'jirei_gazou_sabs', $sub_img_ids);
//    }
//}
//add_action( 'wp_insert_post', 'replace_imgid_imgurl4' );

あと、問題は げんざいの記事を更新することだが、
クイック編集ではどうもだめなようだ。

なので、記事いっこずつ更新するしかないようだ。

タクソノミーを作って、全てにクイック編集で、タームをつけて更新したが、それでも変わらなかった。

手作業か、、 まあ まだいいか いっこずつアサインさせるよりは。

あとは、

メディアファイルを同じ構造のままアップさせる。

ちょっとまった。
URLにドメインの入れ替えの細工をしなければ、ならない。。
d-marking.jp/~~

d-marking1.jp/~~にしなければな。。

そのコードの追加

//1.メイン画像を旧サイトから書き出す
//画像IDから別カスタムフィールドにURLを保存【カスタムフィールド】
function replace_imgid_imgurl($id) {
    $post = get_post($id);
	
		$home_url = home_url(); //ホームのURLを取得する	
		$new_url = 'http://www.d-marking1.jp'; //引っ越し先のホームのURLを入れる	
	
    // post_typeを判定(post, page, カスタム投稿)
    if( $post-&amp;amp;gt;post_type == 'd_jirei' or  $post-&amp;amp;gt;post_type == 'jirei' ){
	    $custom_fields = get_post_custom($id);
	    $jirei_gazou_id = $custom_fields['jirei_gazou'];
		
		 $sma_gazou_id = $custom_fields['suma_img'];
		
		if ($jirei_gazou_id):
		
		$jirei_gazou_url = wp_get_attachment_image_src($jirei_gazou_id[0],'full');
		$jirei_gazou_url = $jirei_gazou_url[0];
		
		$jirei_gazou_url = str_replace( $home_url , $new_url, $jirei_gazou_url ); //ホームのURL
		
		update_post_meta($id, 'jirei_gazou_url', $jirei_gazou_url);
		endif;
		
		
		if ($sma_gazou_id):
		
		$sma_gazou_url = wp_get_attachment_image_src($sma_gazou_id[0],'full');
		$sma_gazou_url = $sma_gazou_url[0];
		
		$sma_gazou_url = str_replace( $home_url , $new_url, $sma_gazou_url ); //ホームのURL
		
		update_post_meta($id, 'suma_img_url', $sma_gazou_url);
		endif;

    }
}
add_action( 'wp_insert_post', 'replace_imgid_imgurl' );


//2.ループフィールドの画像IDからカスタムフィールドにURLを保存【カスタムフィールド】
function replace_imgid_imgurl3($id) {
	
			$home_url = home_url(); //ホームのURLを取得する	
		$new_url = 'http://www.d-marking1.jp'; //引っ越し先のホームのURLを入れる
	
    $post = get_post($id);
    // post_typeを判定(post, page, カスタム投稿)
    if( $post-&amp;amp;gt;post_type == 'd_jirei' or  $post-&amp;amp;gt;post_type == 'jirei'){
		
		$jirei_gazou_ids ='';//定義

	    $custom_fields = get_post_custom($id);
		$fields = $custom_fields['jirei_gazou_sab']; 
		if($fields){
		foreach ($fields as $field) :
		$img_url  = wp_get_attachment_image_src($field,'full'); 
		$img_url = $img_url[0];
		
		$img_url = str_replace( $home_url , $new_url, $img_url ); //ホームのURL
			
		$jirei_gazou_urls[] = $img_url;
		
		endforeach;
			}
//		
	if ($jirei_gazou_urls):
		$jirei_gazou_urls = implode(',', $jirei_gazou_urls);
		update_post_meta($id, 'sub_img_urls', $jirei_gazou_urls);
		endif;
		
    }
}
add_action( 'wp_insert_post', 'replace_imgid_imgurl3' );

さあ本番 だ、

新旧サイトに、

jirei_gazou_url
sub_img_urls
suma_img_url

を作成、

先は

jirei_gazou
suma_img
jirei_gazou_sabs

だ。

その前にメディアライブラリを移行してみよう

 

メディアライブラリ移行 これもやばかったし、いつまで使えるかわからない方法。

Media from FTPを使う

Media from FTP

これまず解説。

日本語ファイル名に対応していない。
オリジナルファイルが削除されます。 の項目

  • このプラグインは以下の場合にファイルを削除します。
  1. ファイル名にスペースが含まれている場合。スペースを「-」に変換してオリジナルファイルを削除します。image example.jpg -> image-example.jpg
  2. ファイル名にマルチバイト文字が含まれている場合。MD5変換を行いオリジナルファイルを削除します。image例.jpg -> 2edd9ad56212ce13a39f25b429b09012.jpg
  3. 「アップロードしたファイルを年月ベースのフォルダに整理」の項目にチェックが入っていると、ファイルを年月ベースのフォルダにコピーし、オリジナルファイルを削除します。wp-content/uploads/sites/2/image-example.jpg -> wp-content/uploads/sites/2/2015/09/image-example.jpg

* ファイルをコピーした後に、サムネイルを作成しデータベースに登録します。

日本語URLはサニタイズされて、文字が置き換わってしまう。
よく調べると MD5変換は逆変換不可能とのことで、
URLを予測することができない。

そこでプラグインを開けると、

inc/class-mediafromftp.php

に/* sanitize */の項目がある。

/* sanitize */
$orgfilename = $filename;
$filename = $currentdir . '/' . sanitize_file_name( wp_basename( $filename ) );
rename( $orgfilename, $filename );

// if ( function_exists( 'mb_check_encoding' ) ) {
// if ( ! mb_check_encoding( $filename, 'ASCII' ) ) {
// $currentfile = wp_basename( $filename, $suffix_attach_file );
// $oldfilename = $currentdir . '/' . $currentfile . $suffix_attach_file;
// $filename = $currentdir . '/' . md5( $currentfile ) . $suffix_attach_file;
// $copy_file_org2 = $this-&gt;mb_encode_multibyte( $oldfilename, $character_code );
// $copy_file_new2 = $this-&gt;mb_encode_multibyte( $filename, $character_code );
// $err_copy = @copy( $copy_file_org2, $copy_file_new2 );
// if ( ! $err_copy ) {
// if ( ! empty( $copy_file_new1 ) ) {
// $copy_file_org2 = $copy_file_org1;
// unlink( $copy_file_new1 );
// }
// return array( -1, $this-&gt;mb_utf8( $copy_file_org2, $character_code ), $this-&gt;mb_utf8( $currentdir, $character_code ), null );
// }
// }
// }

コメントアウトして、アップすると、なんとか、そのままのファイル名でアップできた。

■、使い方

どうやら、過去のサイトのメディアファイルuplodesを

そのままアップできる

が、毎度フォルダ別にほるのが面倒なため、

新サイトのuplodes/back と名前を変えて直接アップする。

そこのbackをプラグインで入れるわけだが、

設定がある。

アップロードしたファイルを年月ベースのフォルダーに整理はチェックをはずす。

固定された日時で更新 で、失敗してもわかりやすい、日付にしておく。
今回は最も古い日時

この設定で、uplodes/back内のフォルダがそのディレクトリのままアップされて登録される。

ファイル名にスペースが含まれている場合はURLがかわりそうだ。

プラグイン内のサニタイズ項目を無理やりコメントアウトしたので、なんとかアップできる。

そして、また登録コードを細工しなければならない。

URLにuplodes/backを追加しなければならないのだ。

そこでコードを編集

		$back_url = 'http://www.d-marking.jp'; //引っ越し前のホームのURLを入れる	
		$home_url = home_url(); //ホームのURLを取得する	

	$jirei_gazou_url = str_replace( $back_url , $home_url,  $jirei_gazou_url ); //ホームのURLを変更
		$jirei_gazou_url = str_replace( 'uploads/' , 'uploads/back/', $jirei_gazou_url ); //アップロードフォルダのURLを変更 例 http://www.d-marking1.jp/wp-content/uploads/2020 を http://www.d-marking1.jp/wp-content/uploads/back/2020 に

を追記

完成コードは最後にのせよう、また変わるといけないので。

 

と思ったが、結局、デザイン業のことを思うと、画像検索から入ってくる事を思うと、画像URLの変更ってどうなの?
と思い、

フォルダをドロップするだけで、同じフォルダ内にコピーできるので、
その手法で、

まず、念の為、新サイトのuplodesをコピーして圧縮
本当はDBもバックしなきゃね。ここ忘れた。。失敗したら更新がきえてまう。。

旧uplodesを新uplodes内にコピー
パスファインダーでは
2020 2019などを全部掘り込んだら、上書きしないで結合でそのようになった。

後、Media from FTPで読み込ます。

もちろんURLは旧サイトのまま(今回の予定はあくまで、ローカルの別ワードプレスに入れて、後に同じドメインでリニューアルするので、、)で公開できるよてい。

Media from FTP

使い方注意

元のメディアファイルがからのときはスムーズに登録できたが(すべてのファイルを一気に)
1000件を下手に 700件に分けると、
300件を登録する際、すでに700件追加されているので、検索が重くなり、全体だと表示されない。。

2020とか、多い年は2015/10とかでなければ検索結果に出ないので、注意

 

やり方、

表示件数できるのなら、表示件数は1300件あるなら1500件とかにして一気にやったほうがよい。(サムネイル等作成されたあとはその分検索がおもくなるのできつくなる)

フォルダが表示できないとき(重くて)

アップロード内などに別の退避フォルダを作成して、読み込ます。

読み込めたら、後に、入れ替え。

がスムーズかも

おかしな点

このファイルのところで、とまった?
元からファイル名が-1 ついている。
さらにこれは新さいとにあったファイル

多分最初はついていないやつをアップして、後に、何個もあっぷして、ついていないのをけしたのか??

これをするーしたら登録再開された、、。不明

アップする前の状態をしらべてみると、

最初からこれが入っているが、これはゴミのようだ、。
実際にアップされているのは、
これでなく、
-5というどこかに保存されているファイルだった。

ともかく、 すでにあるファイルのためのエラーであったので、
引っ越し元には関係ないかも

2015の7月のフォルダに3000以上に画像が。。。表示できない。。

 

 

 

旧d-markingからurlを保存する最初のコードメモ
//1.メイン画像を旧サイトから書き出す
//画像IDから別カスタムフィールドにURLを保存【カスタムフィールド】
function replace_imgid_imgurl($id) {
    $post = get_post($id);
	
		$home_url = home_url(); //ホームのURLを取得する	
		$new_url = 'http://www.d-marking1.jp'; //引っ越し先のホームのURLを入れる	
	
    // post_typeを判定(post, page, カスタム投稿)
    if( $post->post_type == 'd_jirei' or  $post->post_type == 'jirei' ){
	    $custom_fields = get_post_custom($id);
	    $jirei_gazou_id = $custom_fields['jirei_gazou'];
		
		 $sma_gazou_id = $custom_fields['suma_img'];
		
		if ($jirei_gazou_id):
		
		$jirei_gazou_url = wp_get_attachment_image_src($jirei_gazou_id[0],'full');
		$jirei_gazou_url = $jirei_gazou_url[0];
		
		$jirei_gazou_url = str_replace( $home_url , $new_url, $jirei_gazou_url ); //ホームのURL
		
		update_post_meta($id, 'jirei_gazou_url', $jirei_gazou_url);
		endif;
		
		
		if ($sma_gazou_id):
		
		$sma_gazou_url = wp_get_attachment_image_src($sma_gazou_id[0],'full');
		$sma_gazou_url = $sma_gazou_url[0];
		
		$sma_gazou_url = str_replace( $home_url , $new_url, $sma_gazou_url ); //ホームのURL
		
		update_post_meta($id, 'suma_img_url', $sma_gazou_url);
		endif;

    }
}
add_action( 'wp_insert_post', 'replace_imgid_imgurl' );


//2.ループフィールドの画像IDからカスタムフィールドにURLを保存【カスタムフィールド】
function replace_imgid_imgurl3($id) {
	
			$home_url = home_url(); //ホームのURLを取得する	
		$new_url = 'http://www.d-marking1.jp'; //引っ越し先のホームのURLを入れる
	
    $post = get_post($id);
    // post_typeを判定(post, page, カスタム投稿)
    if( $post->post_type == 'd_jirei' or  $post->post_type == 'jirei'){
		
		$jirei_gazou_ids ='';//定義

	    $custom_fields = get_post_custom($id);
		$fields = $custom_fields['jirei_gazou_sab']; 
		if($fields){
		foreach ($fields as $field) :
		$img_url  = wp_get_attachment_image_src($field,'full'); 
		$img_url = $img_url[0];
		
		$img_url = str_replace( $home_url , $new_url, $img_url ); //ホームのURL
			
		$jirei_gazou_urls[] = $img_url;
		
		endforeach;
			}
//		
	if ($jirei_gazou_urls):
		$jirei_gazou_urls = implode(',', $jirei_gazou_urls);
		update_post_meta($id, 'sub_img_urls', $jirei_gazou_urls);
		endif;
		
    }
}
add_action( 'wp_insert_post', 'replace_imgid_imgurl3' );

これはやめて、通常のアドレスを書き出すようにする。

ssdの調子がおかしい、まとめ

まず、今回、自宅macが遅くなっておかしいと思った。

そこで、疑ったのが、SSDがおかしい、ケースがおかしい、ケーブルがおかしい。

ケースとケーブルに関しては、他のと差し替えたりして、変化なし。

こんな状態(10.14.6 で フォーマットはapfsになっていたはず)

macで復元するつもりでフォーマットしたが、かわらない。

 

結局、WIN7でつないで、

TxBENCH」というフリーのツールでSecure Eraseしたら、なにもない状態で、OS拡張ジャーナリングでフォーマットしたら早くなった。

Macの外付けSSDが遅くなったのでSecure Eraseしたら速くなった件

 

そこでバックアップを復元すると、

apfsになってしまったのと、遅くなった 特に4k

使用に耐えられそうだが、う〜ん。。

ここから迷宮

apfsでないと、10.14は入れられないことを知らずに、フォーマットのせい?

または、このosデータがわるい?となって、。

だって、もう一個の柴田マックのssdは早いんだもの10.14.4でosジャーナリングで

これでしょ。

なんで、これをコピって入れたかったんだが、

どうやら、本当は旧フォーマットでは10.14は入らないらしく、

コピーしていれたが、動かず。。。

そこで、念の為、空っぽを速度テストしてみると消したり色々してたからか

また少し遅くなってる。。

2回やったけど同じ感じ

またwinにつないで、更地にした

するとこれ

でねんのため、apfsでフォーマットしてみると、

なんと、、。

おっせー。

これと変わらんやんあんま。。

apfsでフォーマットすると4kが遅いんかな〜

選択の余地

1.またバックアップ復元で利用

2.クリーンインストールして、データを以降してみたらどうか?

手順

しばらく柴田SSDをこっちで利用する。

空のSSDにosをインストールできるか??

 

2をやってみた。

https://satoshisgarage.tech/?p=5731 これだめだった

https://support.apple.com/ja-jp/HT204904 これでできた

かなり時間かかる

インストできてから タイムマシーンのHDDから データ復元するのがかなりかかる。

 

できたけど結局図ってみると

4kおせー

 

あとは 柴田macをちゃんとしたフォーマットにかえて 10.14.6 にしたい。

office 2019は ヤフオクで安くうってるな。

あと対応できないのってあるかな?

最新版にしようかな

 

php7.2 表示がおかしくなる件 原因はphp の省略タグだった

ファンクションphpで読み込ませていたコードが、ボディーに出てしまう。

色々やった結果、<? で動いたいたものが 動かなくなっていた。

調べると php省略タグということで、

それをオンにすればそれでも良かったのかも

PHP では、短い形式の開始タグ <? および ?> も使えます (しかしこれはおすすめしません。というのも、この形式のタグは php.ini でshort_open_tag を有効にするか –enable-short-tags オプションつきで PHP を configure した場合でないと使えないからです)。

 

 

https://www.google.com/search?sxsrf=ALeKk00Yzxts5RS9u6w9nnCscgeAL5MjKw%3A1582183661314&ei=7TROXuLpEqaXr7wP6pOOuA4&q=php+%E9%96%8B%E5%A7%8B%E3%82%BF%E3%82%B0+%E7%9C%81%E7%95%A5&oq=php%E3%80%80%E9%96%8B%E5%A7%8B%E3%83%80%E3%82%B0%E3%80%80&gs_l=psy-ab.1.0.0i13j0i13i30l3.15700.18984..20322…0.0..0.120.1464.9j6……0….1..gws-wiz…….35i39j0i131j0j0i67j0i4j0i4i30.V3x-PU4U9lk

 

 

 

disp key のはじまりが

<?

となってたのがいかん

sting welcart Image Uploader for Welcart 画像アッププラグインバグメモ

Smart Custom Fields で日付等つけてるが このやつで カスタムフィールドつけるとバグる ポスト外せばOK

スイート は できそうだが デイトピッカーがダサい
でもかえるならこれで対応できるか

https://web.contempo.jp/weblog/tips/post-636

Welcartの商品登録画面を劇的に楽にするプラグイン「Image Uploader for Welcart」

また、レビュープラグインReviewPress
もオンにするだけで同じく

これは別のプラグで対応するしかないか
また時間あったらだな

 

レビュー別で

https://decoru.co.jp/post-10037/

Stars Rating

 

 

mamp4から5にアップグレード手順

前回の記事をコピペ利用します。

新MAMP をDL インストール
新しく、MAMPがインストされ、今までのが、MAMP_日付とされる
DBファイルはのシンボリックフォルダごと新しいところにコピーされていました。

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

httpd-vhosts.conf(シンボリック)、httpd-ssl.confを入れ替え

file:///Applications/MAMP/conf/apache/
server.crt
server.csr
server.key
を新しいMAMPに入れる

/Applications/MAMP/conf/apache
のhttpd.confの
httpd-vhosts.conf と
httpd-ssl.conf のコメントアウトをやめる

これでいけました。

ようは
httpd.conf の中に設定が書いてある。コメントアウトをやめて 設定を読み込み
それが、httpd-vhosts.confと httpd-ssl.confだ。
httpd-vhosts.confに

server.crtなどのsslの設定が書いてあるのでそのファイル群が

server.crt
server.csr
server.key

だ。。

ローカルでsslを利用していないならいらないのだが。。

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

 

 

しかし、phpのバージョンが上がりすぎてか サイトが表示されない。。。

アプリケーション > MAMP > bin > php  非使用バージョンの名前を変更でOK(場所間違え注意)

 

topしか表示されない…

Options Indexes FollowSymLinks
AllowOverride All         ←"none"を"All"に変更

これでOK

ここからまだ未完了

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

>>>
「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 Proで.htmlでphpを動かす
https://qiita.com/sawadashota/items/99c4653047ab31458e47

/Application/MAMP/conf/apache/httpd.conf
AddType application/x-httpd-php .php .phtml .html .htm

google map

春日井ナビにAPI入れたで
料金をチェックせねば

geo mush upが どれに当てはまるかわからないので

http://www.xn--hdks669tbwueja.com/

D-Marking のあかで

https://console.cloud.google.com/google/maps-apis/api-list?authuser=2&consoleReturnUrl=https:%2F%2Fcloud.google.com%2Fmaps-platform%2Fpricing%2F%3Fapis%3Dmaps%26project%3Dd-marking-1578371398303&consoleUI=CLOUD&project=d-marking-1578371398303

API 参考記事

Google Maps の APIキー を取得する


https://www.taskmother.jp/webcustomize/google_maps_api.html

支払いに
Google Cloud Platform の登録が必要で
楽天カードで登録

課金されないための上限設定

Google Maps PlatformのAPI 使用の上限設定


https://ring-and-link.co.jp/dream2000/user/other/other-6/other-6-test.html#6-5

weicartのパンくずリストを改良したので記載

親自動チェックを入れてるので、
親のカテゴリのリストもでるので、
それをphpで削除して表示

https://qiita.com/Quantum/items/767dba44af81d1825248

   <div id="top_navi">


<?php 
//	   if(function_exists('bcn_display'))
//    {
//        bcn_display();
//    }
	   ?>
	   
	<?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_DESC, SORT_STRING, $categories);
 
//      echo 	  
//  "<pre>";
//  print_r($categories);
//  echo "</pre>";
	   
//  2019追加 親カテゴリもチェックしてるから、全て出るので、 末端のカテゴリのみ表示させっる
$d_navi = array(); 
	foreach($categories as $key):
	   $oya[] = $key -> parent; //親navi_idDをあつめる
	   $myid[] = $key -> term_id; //実際のnavi_idを集める
	   
	   endforeach;
	   
//echo "<pre>";
//  print_r($oya
// );
//  echo "</pre>";
//	   
//echo "<pre>";
//  print_r($myid
// );
//  echo "</pre>";  
	   
	$navi_ids = array_diff($myid,$oya); //比較削除 前の中から あとの中とかぶってないものを返す
	$navi_ids = array_values($navi_ids); //indexを詰める作業 0 1 2 と。 なくても出たけど 処理が早いとか
	   
//	   echo "<pre>";
//  print_r($navi_ids
// );
//  echo "</pre>";  
	   
	   
	   
//カテゴリがある場合の実行
//if ( $categories ) {
if ( $navi_ids  ) {
	
 
  //カテゴリの数だけ繰り返す
  //foreach( $categories as $category ) :
	foreach( $navi_ids as $navi_id ) :
 
    //カテゴリを親まで辿って表示
      //商品を表示させないためファンクションで作成した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," > "); ?>
	
	<?php echo my_category_parents($navi_id ,true," > "); ?>
	
       </div>
 
      <?php 
	endif;
	endforeach; } ?>   
	   
    
    

</div>