Own products

  • 新規事業のアイディア創造機

Memo log

2023
08/03

SourceTreeでローカルリポジトリの対象ディレクトリを変更する方法

以下のファイルを直接編集する!

C:\Users\ユーザ名\AppData\Local\Atlassian\SourceTree\bookmarks.xml

※注意
もしかするとSSHキーとの関連が切れて、つなぐときに改めてSSHキーの場所を指定してあげないといけないかも

Memo log

2023
07/28

XAMPPのMySQLが壊れたときの修復方法

1. xampp/mysql/data フォルダを _data にリネーム
2. xampp/mysql/backup フォルダを中身ごとコピーして data にリネーム
3. _data の ibdata1 ファイルを data に持ってきて上書き
4. xampp を起動してMySQLが動くか確認
5. OKなら _data の自作データのみを data に移動
6. rootのパスワードが初期化(=未設定)されてるので xampp 右部の shell で「mysqladmin -u root password」とコマンド打ってパスを設定
7. PHPMyAdmin にアクセスして問題ないか確認

Memo log

2023
03/27

Laravel10 初期設定もろもろ

1. インストール

$ composer create-project laravel/laravel --prefer-dist _laravel // prefer-dist = zipでダウンロードする。こっちのほうが高速

// 以下、忘れる前に作業用のルートディレクトリに移動
$ cd _laravel

2. .env ファイルと /config/ 以下を修正

// .env
**どっか既存のプロジェクトから転写 + 適宜改修**

// /config/app.php
'timezone' => 'Asia/Tokyo',
'locale' => 'ja',
'faker_locale' => 'ja_JP',

// /config/database.php
'collation' => 'utf8mb4_general_ci',

3. 公開フォルダ用のシンボリックリンクを設定

$ php artisan storage:link

4. (必要により) マイグレーション時に不要な personal_access_tokens_table の生成をやめる

// /app/Providers/AppServiceProvider.php
public function register()
{
    \Laravel\Sanctum\Sanctum::ignoreMigrations();
}

5. デバッグ用の telescope をインストール

$ composer require laravel/telescope
$ php artisan telescope:install
// ツールバーもインストール
$ composer require fruitcake/laravel-telescope-toolbar --dev

6. (必要により) 会員認証用の Laravel Breeze インストール

$ composer require laravel/breeze --dev
$ php artisan breeze:install
$ npm install

// 日本語化
$ composer require askdkc/breezejp --dev

// 使用時は以下コマンド
$ npm run dev

7. 確認のためサーバー立ててアクセス

$ php artisan serve

8. DB設計し終わったらマイグレーション

// DB生成 + シーダー挿入
$ php artisan migrate
$ php artisan db:seed

Memo log

2022
04/12

XAMPP環境にコマンドでWordPressをインストールする

cd インストール先のディレクトリのひとつ上の階層
wget https://ja.wordpress.org/latest-ja.tar.gz --no-check-certificate
tar -zxvf latest-ja.tar.gz
rm -rf latest-ja.tar.gz

そうすると wordpress ってフォルダができてるのでリネームするなりそのまま使うなり。

Memo log

2021
03/30

Virtual Boxが止めも消しもできない場合の緊急停止コマンド

Virtual Boxがエラーで動かなくなり、とはいえステータスは起動中のまま、止めも消しもできない場合の緊急停止コマンド

VBoxManage.exe startvm tabeloop_dev_default_1583414934558_88045 --type emergencystop

Memo log

2021
01/30

MAC環境からWindows環境に届いたファイル群の中の.DS_STOREをコマンドで一発削除する方法

コマンドプロンプト立ち上げて下記

cd 対象のフォルダのパス && del /s /q /f /a .DS_STORE

Memo log

2020
08/25

XAMPPのPHPバージョンを切り替えるコマンド

// httpd-xampp.conf 削除
del D:\xampp\apache\conf\extra\httpd-xampp.conf

// phpディレクトリ 削除
rmdir D:\xampp\php

// httpd-xampp.conf 生成(バージョン名を記述)
mklink D:\xampp\apache\conf\extra\httpd-xampp.conf D:\xampp\apache\conf\extra\httpd-xampp.745.conf

// phpディレクトリ 生成(バージョン名を記述)
mklink /D D:\xampp\php D:\xampp\php-7.4.5

Memo log

2020
05/31

Laravel よく使うコマンド集

バージョンを指定してcomposerインストール

$ composer create-project laravel/laravel=6.* プロジェクト名

laravel-mix がエラーのときの追加インストール

$ npm install laravel-mix cross-env node-sass --save-dev

REST API用の Model と Controller を一気に作る

$ php artisan make:model Banana -mcr

キャッシュクリア

$ php artisan cache:clear && php artisan config:clear && php artisan config:cache && php artisan route:clear && php artisan view:clear && php artisan clear-compiled && php artisan optimize

Laravel 6.x 系で Vue.js を利用する

$ composer update // 念の為
$ composer require laravel/ui:^1.0 --dev
$ php artisan ui vue
$ npm install && npm run dev

db:seed すると does not exist エラーが出る場合の解消法

$ composer dump-autoload

一旦全テーブルをdropしてからテーブル再構築&seeder実行

$ php artisan migrate:fresh --seed

Memo log

2018
09/10

【WordPress】ACFで投稿オブジェクトを設定した際、自分の投稿以外を表示させない方法

WordPressでACF使ってて、投稿オブジェクトで「自分の書いた投稿」だけを表示させたい場合、つまり「他のユーザーが書いた投稿は見せたくない」という場合、下記のコードをfunctions.phpに追加する。

function my_post_object_query($args){
    $args['author'] = get_current_user_id();
    return $args;
}
add_filter('acf/fields/post_object/query/name=投稿オブジェクトに設定したフィールド名', 'my_post_object_query', 10, 3);

add_filterに「投稿オブジェクトに設定したフィールド名」を記載するのをお忘れなく!
ちなみにここは日本語で設定してても、その通り日本語で書けば通るはず。

引用元:https://support.advancedcustomfields.com/forums/topic/post-object-only-query-current-user/

Memo log

2018
06/17

wwwなし・httpsのhtaccessで、ドメインを書かない記述法

この書き方だと汎用性があるね!

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
</IfModule>

Memo log

2016
09/24

WordPressのカテゴリーやカスタムタクソノミーに、東京都の市区町村を流し込むコードスニペット

下記を functions.php に書いて、どうぞ。

$tokyo_state = array (
	array( 'label' => '千代田区', 'slug' => 'chiyodaku' ),
	array( 'label' => '中央区', 'slug' => 'chuoku' ),
	array( 'label' => '港区', 'slug' => 'minatoku' ),
	array( 'label' => '新宿区', 'slug' => 'shinjukuku' ),
	array( 'label' => '文京区', 'slug' => 'bunkyoku' ),
	array( 'label' => '台東区', 'slug' => 'taitoku' ),
	array( 'label' => '墨田区', 'slug' => 'sumidaku' ),
	array( 'label' => '江東区', 'slug' => 'kotoku' ),
	array( 'label' => '品川区', 'slug' => 'shinagawaku' ),
	array( 'label' => '目黒区', 'slug' => 'meguroku' ),
	array( 'label' => '大田区', 'slug' => 'otaku' ),
	array( 'label' => '世田谷区', 'slug' => 'setagayaku' ),
	array( 'label' => '渋谷区', 'slug' => 'shibuyaku' ),
	array( 'label' => '中野区', 'slug' => 'nakanoku' ),
	array( 'label' => '杉並区', 'slug' => 'suginamiku' ),
	array( 'label' => '豊島区', 'slug' => 'toshimaku' ),
	array( 'label' => '北区', 'slug' => 'kitaku' ),
	array( 'label' => '荒川区', 'slug' => 'arakawaku' ),
	array( 'label' => '板橋区', 'slug' => 'itabashiku' ),
	array( 'label' => '練馬区', 'slug' => 'nerimaku' ),
	array( 'label' => '足立区', 'slug' => 'adachiku' ),
	array( 'label' => '葛飾区', 'slug' => 'katsushikaku' ),
	array( 'label' => '江戸川区', 'slug' => 'edogawaku' ),
	array( 'label' => '八王子市', 'slug' => 'hachiojishi' ),
	array( 'label' => '立川市', 'slug' => 'tachikawashi' ),
	array( 'label' => '武蔵野市', 'slug' => 'musashinoshi' ),
	array( 'label' => '三鷹市', 'slug' => 'mitakashi' ),
	array( 'label' => '青梅市', 'slug' => 'omeshi' ),
	array( 'label' => '府中市', 'slug' => 'fuchushi' ),
	array( 'label' => '昭島市', 'slug' => 'akishimashi' ),
	array( 'label' => '調布市', 'slug' => 'chofushi' ),
	array( 'label' => '町田市', 'slug' => 'machidashi' ),
	array( 'label' => '小金井市', 'slug' => 'koganeishi' ),
	array( 'label' => '小平市', 'slug' => 'kodairashi' ),
	array( 'label' => '日野市', 'slug' => 'hinoshi' ),
	array( 'label' => '東村山市', 'slug' => 'higashimurayamashi' ),
	array( 'label' => '国分寺市', 'slug' => 'kokubunjishi' ),
	array( 'label' => '国立市', 'slug' => 'kunitachishi' ),
	array( 'label' => '福生市', 'slug' => 'fussashi' ),
	array( 'label' => '狛江市', 'slug' => 'komaeshi' ),
	array( 'label' => '東大和市', 'slug' => 'higashiyamatoshi' ),
	array( 'label' => '清瀬市', 'slug' => 'kiyoseshi' ),
	array( 'label' => '東久留米市', 'slug' => 'higashikurumeshi' ),
	array( 'label' => '武蔵村山市', 'slug' => 'musashimurayamashi' ),
	array( 'label' => '多摩市', 'slug' => 'tamashi' ),
	array( 'label' => '稲城市', 'slug' => 'inagishi' ),
	array( 'label' => '羽村市', 'slug' => 'hamurashi' ),
	array( 'label' => 'あきる野市', 'slug' => 'akirunoshi' ),
	array( 'label' => '西東京市', 'slug' => 'nishitokyoshi' ),
	array( 'label' => '西多摩郡瑞穂町', 'slug' => 'nishitamagun_mizuhomachi' ),
	array( 'label' => '西多摩郡日の出町', 'slug' => 'nishitamagun_hinodemachi' ),
	array( 'label' => '西多摩郡檜原村', 'slug' => 'nishitamagun_hinoharamura' ),
	array( 'label' => '西多摩郡奥多摩町', 'slug' => 'nishitamagun_okutamamachi' ),
	array( 'label' => '大島町', 'slug' => 'oshimamachi' ),
	array( 'label' => '利島村', 'slug' => 'toshimamura' ),
	array( 'label' => '新島村', 'slug' => 'niijimamura' ),
	array( 'label' => '神津島村', 'slug' => 'kozushimamura' ),
	array( 'label' => '三宅島三宅村', 'slug' => 'miyakejima miyakemura' ),
	array( 'label' => '御蔵島村', 'slug' => 'mikurajimamura' ),
	array( 'label' => '八丈島八丈町', 'slug' => 'hachijojima hachijomachi' ),
	array( 'label' => '青ヶ島村', 'slug' => 'aogashimamura' ),
	array( 'label' => '小笠原村', 'slug' => 'ogasawaramura' ),
);
$parent_term = wp_insert_term('東京都', 'category', array('label' => '東京都', 'slug' => 'tokyo'));
// カスタムタクソノミーに追加する場合は、上記の第二引数 'category' を適宜変更

if(!is_wp_error($parent_term)){
	$parent_term_id = $parent_term['term_id'];
	foreach($tokyo_state as $state){
		$state['parent'] = $parent_term_id;
		wp_insert_term($state['label'], 'category', $state);
		// カスタムタクソノミーに追加する場合は、上記の第二引数 'category' を適宜変更
	}
}

Memo log

2015
12/18

カラーミーショップのトップページの「おすすめ商品一覧」を新着順に並べるコード

該当箇所のsmarty的な記述
<{section name=num loop=$recommend}>
のとこに step="-1" を追加するべし!

<{section name=num loop=$recommend step="-1"}>

これで自動的に新着順に並ぶんやでー

Memo log

2015
12/18

カラーミーショップで、配列の中身を確認するコード

smartyのdebug_print_varを使うべし!
<{$product|@debug_print_var:0:100}>

詳しくはカラーミーショップで配列の中身を確認する方法 | UNORTHODOX WORKBOOK | Blogにて~!

Memo log

2015
03/25

WordPressでカスタムフィールドに全ての投稿をselectで並べて選べるようにする方法

新しい投稿を既存の記事のどれかに紐付けたい時とか、なんかどっかで使いたかった気がするのでメモ。

/* 投稿ページに表示させるカスタムボックスの設定 */
add_action('admin_menu', 'allpost_inputbox');

// 投稿ページ(post)に表示させる「全投稿選択欄」の設定
function allpost_inputbox() {
	add_meta_box('allpost_div', '全投稿選択欄', 'allpost_field', 'post');
}
// 投稿ページに表示させるカスタムフィールドの設定
function allpost_field(){
	$id = get_the_ID();
	$allpost_select = get_post_meta($id, 'allpost_select', true);

	// 投稿データ(post)の取得
	$allpost = get_posts('post_type=post&posts_per_page=-1&post_status=publish,draft,private');

	wp_nonce_field(wp_create_nonce(), 'allpost_nonce');
	echo '投稿をお選びください';
	echo '<select name="allpost_select">';
	foreach($allpost as $onepost){
		$selected = ((int)$allpost_select === $onepost->ID)?' selected="selected"':'';
		echo '<option value="'.$onepost->ID.'"'.$selected.'>'.$onepost->post_title.'</option>';
	}
	echo '</select>';
	wp_reset_postdata();
}

/* 入力したデータの更新処理の設定 */
add_action('save_post', 'allpost_save_postdata');

// カスタムフィールドの更新/保存の設定
function allpost_save_postdata($post_id){
	$allpost_select = isset($_POST['allpost_select'])?$_POST['allpost_select']:'';
	update_post_meta($post_id, 'allpost_select', $allpost_select);
}

Memo log

2014
12/10

スマホで list-style のCSSが効かない問題

何回かおんなじトコでつまづいたので備忘録。
スマホで list-style のCSSを書いても、うんともすんとも動かない!

.hoge {
	list-style: none disc outside;
}

これ、androidでもiosでも効きません。。

理由→略した書き方に対応してない。ショートハンド内にnoneがあると、list-style-typeもlist-style-imageもnoneと解釈されるから(=仕様通り!)。

なので、同様のコトは下記のように、1個ずつ書けばOK!

.hoge {
	list-style-image: none;
	list-style-type: disc;
	list-style-position: outside;
}

下記のように、list-style-imageの値を入れなきゃOK!

.hoge {
	list-style: disc outside;
}

手癖でnoneも入れてたのがいけなかったんや!
悪いのはandroidでもiosでも無い、オレや!
教えてくれた@Yoshiki Katoさん、ありがとうございました!

Memo log

2014
09/10

WordPressのカスタム○○拡張プラグイン「Types」で、日付のピッカーが日本語化されない(設定に準拠しない)場合の対処法

すげー調べたわ。。。
typesプラグインのディレクトリの中の
embedded → common → toolset-forms → classes の中の「class.date.scrupts.php」の
9行目にある public static $_supported_date_formats の配列に

'Y年n月j日',

を追加!
さらに同ファイル18行目の public $_supported_date_formats_text の配列に

'Y年n月j日' => 'yyyy/mm/dd',

を追加!(コレは無くてもいいかも)

でもかなり強硬策だし、バージョンあげたら消えるからなぁ。。。

Memo log

2014
08/01

file_get_contentsでエラー時に処理を止める方法

いやはや、当ブログのfunctions.phpでミスってて、思いっきり500 Internal Server Errorかっ飛ばしました。。
おかげで当サーバに載せてる全サービスが巻き添え。。

原因はfile_get_contents()関数をヌルい条件でループさせてた事なんですが、コレを機にしっかり書き直しました。

具体的には、file_get_contents()でデータ取得とともにステータスコードも受け取って、コード200以外はハネるようにedit!

$url = "http://example.com/";
$data = @file_get_contents($url, false, stream_context_create(array('http' => array('ignore_errors' => true))));
if($http_response_header[0] !== 'HTTP/1.1 200 OK') return false;

気をつけよう。。。

Memo log

2014
07/25

WP-Membersの設定→フィールドタブにある「Users Screen」とは、、、!

ユーザー → ユーザー一覧 のテーブルに追加したい項目にチェックを入れると、当該ページに表示されるようになる!

Memo log

2014
07/17

text-overflow: ellipsis を table(td) で有効にする方法

表示領域からはみ出た部分を非表示にして末尾を ・・・ にしてくれるCSSプロパティ「text-overflow: ellipsis」。
ただコレ、テーブル組みの td には、そのまんまじゃ効かない。
解決法はカンタン、親である table 要素に「table-layout: fixed」と指定すればOK!

table#my_table {
	table-layout: fixed;
}
table#my_table td {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

Memo log

2014
07/02

jQueryで取得する「○○の高さ」について

$(document).height();//最低のブラウザ領域

コンテンツの高さ総計 < ブラウザ可視領域 なら ブラウザ可視領域
コンテンツの高さ総計 > ブラウザ可視領域 なら コンテンツの高さ総計

$('html').height();//コンテンツの高さ総計

なので、サイドバーとかでコンテンツが少なくても多くても、常に最下部まで高さを持ってきたい場合は

var doc_height = 0;
var html_height = $('html').height();
$(window).on("load resize", function(){
	doc_height = $(document).height();
	if(doc_height >= html_height) $('#sidebar').height(doc_height);
});

って書いて、高さを取得 → サイドバーにその高さを代入する。

更に読み込む

  • このブログのRSSを購読する
  • このブログをtwitterでつぶやく
  • このブログをFacebookで共有する
  • このブログをはてなブックマークで共有する

Contact

    お名前※必須

    ご連絡先メールアドレス

    お問い合わせ内容※必須

    CAPTCHA

    captcha

    Blog parts

    Affiliate