【WordPress】テーマで指定されたCSSがうまく読み込めない

WordPressで他人が作成したテーマを使っているとCSSがうまく読み込めない時があります。
条件としては以下の両方に当てはまっている場合だと思います。

  • WordPressの管理画面と公開画面でドメインが違う
  • テーマ内にstyle.css以外のCSSファイルがあり、それをwp_enqueue_styleを使って読み込んでいる

このとき、ブラウザの開発ツールでコンソールを表示すると、以下のようなエラーが発生していると思います。

Access to Font at 'http://yourdomain1.com/wp-content/themes/sparkling/assets/fonts/glyphicons-halflings-regular.woff2' from origin 'http://yourdomain2.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://yourdomain2.com' is therefore not allowed access.

クロスドメインなどが原因のようなのですが、手早く直したかったので
以下の修正をして直しました。

①wp_enqueue_styleをしている箇所をコメントアウトする。(テーマによるが、function.phpなどに記載あり)

// wp_enqueue_style( 'bs', get_template_directory_uri() . '/assets/css/bootstrap.min.css' );
// wp_enqueue_style( 'awe', get_template_directory_uri() . '/assets/css/font-awesome.min.css' );

②htmlのheadタグ内にてCSS読み込み処理を記載する。(テーマによるが、header.phpなどに記載あり)
※以下例ではCDNを指定しています。

<link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">

これで正常にCSSが読み込まれ、ブラウザのコンソールからもエラーが消えました。

Share

【Mac】言語パッケージ管理用にasdfを導入する

■環境

macOS Sierra 10.12.6
fish 2.5.0


■手順

asdfをgithubからクローンし、fishのコンフィグに追加する。

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.3.0
echo 'source ~/.asdf/asdf.fish' >> ~/.config/fish/config.fish
mkdir -p ~/.config/fish/completions; and cp ~/.asdf/completions/asdf.fish ~/.config/fish/completions

asdfで管理対象の言語を追加する。

asdf plugin-add {任意の名前} {githubリポジトリ}
# 例)asdf plugin-add go https://github.com/kennyp/asdf-golang

上記で設定するリポジトリは以下を参照
https://github.com/asdf-vm/asdf-plugins

インストールできるバージョン一覧を見る。

asdf list-all {さきほどの名前}
# 例)asdf list-all go

上記で確認したバージョンの中から希望のバージョンをインストールし、
利用できるように設定する。

asdf install {さきほどの名前} {バージョン}
# 例)asdf install go 1.8.3
asdf global {さきほどの名前} {バージョン}
# 例)asdf global go 1.8.3

以上で設定完了です。

その他コマンドは公式ページを参照。チートシートがいらないくらいまとまってます。
https://github.com/asdf-vm/asdf

Share

【node】foreverチートシート

起動

forever start {jsファイル}

起動中一覧表示

forever list

停止

forever stop {停止対象の番号}

※停止対象の番号は上記の一覧表示で確認できる。
 0から順に配番されているはず。


★その他★

起動コマンド実行後にログを見ると
Error: spawn ENOMEM
というエラーで落ちていることがある。

これはメモリ不足が原因らしいので、メモリを確保してから再実行したら直る。
自分の環境の場合、空きが「600MB」くらいだとダメでした。
色々整理して、空きを「1.5GB」くらいまでにしたら直りました。

Share

Vue.js + foreverでのアプリ起動

■環境

CentOS 7.3
npm 3.10.10


■手順

npmとnodejsが入っていない場合は、yumでインストールする

yum install npm nodejs

vueアプリを簡単に導入できるツール「vue-cli」と
nodeアプリをデーモン的に起動できる「forever」をインストールする
※これらはグローバル領域にインストールするので「-g」オプションをつける

npm install -g vue-cli forever

プロジェクトディレクトリを作成する
プロジェクトを作成したいディレクトリで以下を実行する

vue init webpack samplevue  
※「samplevue」は作成したいディレクトリ名  

上記実行後に色々質問をされるが、もし分からなければ
とりあえず基本そのままEnter、またはYes/Noの質問の場合はYを入力して進めればよい

作成したディレクトリに移動し、必要なファイルをインストールする

cd samplevue  
npm install

ここまで終わったら、foreverでvueアプリを起動できる状態になっている
dev環境で起動したい場合、以下のコマンドで起動できる

forever start build/dev-server.js

ここで指定するjsファイルは、作成したプロジェクトディレクトリ直下にある『package.json』を見れば、7行目あたりから記載されている

{
  "name": "samplevue",
  "version": "1.0.0",
〜中略〜
  "scripts": {
    "dev": "node build/dev-server.js",
    "start": "node build/dev-server.js",
    "build": "node build/build.js",
〜以下略〜

これで、8080ポートにアクセスすればVueアプリが表示されるようになっている
http://yourdomain.com:8080/

その他、foreverの利用方法についてはコチラ

Share

【Mac】dein.vimの設定

■環境

macOS Sierra 10.12.5
Vim 7.4


vimのプラグイン管理をするため、dein.vimを導入してみます。

■dein.vim導入手順

Shougo氏のGitHub通りに
インストールを進めます。

curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
sh installer.sh ~/.vim

上記コマンドが成功すると、.vimrc記載する内容が表示されるので、
それを基本的にそのまま.vimrcに記載します。
変更する箇所は後半の自動インストールのコメントアウトを外すくらいです。

以下のように.vimrcに記載する事になると思います。

"dein Scripts-----------------------------
if &compatible
  set nocompatible               " Be iMproved
endif

" Required:
set runtimepath+=/Users/yourhome/.vim/repos/github.com/Shougo/dein.vim

" Required:
if dein#load_state('/Users/yourhome/.vim')
  call dein#begin('/Users/yourhome/.vim')

  " Let dein manage dein
  " Required:
  call dein#add('/Users/yourhome/.vim/repos/github.com/Shougo/dein.vim')

  " Add or remove your plugins here:
  call dein#add('Shougo/neosnippet.vim')
  call dein#add('Shougo/neosnippet-snippets')

  " You can specify revision/branch/tag.
  call dein#add('Shougo/vimshell', { 'rev': '3787e5' })

  " Required:
  call dein#end()
  call dein#save_state()
endif

" Required:
filetype plugin indent on
syntax enable

" If you want to install not installed plugins on startup.
if dein#check_install()
  call dein#install()
endif

"End dein Scripts-------------------------

ここまで実施すると次回vim起動時にプラグインのインストールが行われ、
基本的な設定は完了します。

■プラグインの追加

deinプラグインを追加してみます。

The NERD Tree

https://github.com/scrooloose/nerdtree

エディタの左端にディレクトリ階層(ツリー)を表示できるようにするプラグインです。
(IDEみたいになる)

.vimrcに以下の記載を追加します。

" The NERD Tree
call dein#add('scrooloose/nerdtree')
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'

"〜if dein#load_state()〜endifの外〜
map <C-n> :NERDTreeToggle<CR>

vim起動後、「:NERDTreeToggle」と打つと
左側にツリーが表示されたり非表示になったりします。
上記設定では最終行で「Ctrl+n」に「:NERDTreeToggle」をマッピングしているので
「Ctrl+n」で表示/非表示を切り替えられます。

Indent Guides

https://github.com/nathanaelkane/vim-indent-guides

インデントを色付けして分かりやすくしてくれます。

.vimrcに以下の記載を追加します。

"Indent Guide
call dein#add('nathanaelkane/vim-indent-guides')

"〜if dein#load_state()〜endifの外〜
let g:indent_guides_enable_on_vim_startup = 1
Share