WordPressの検索結果を投稿タイプで並び替え

WordPressの検索にて、検索結果を日付の昇順、降順で並べるのはよくあるのだけれど、そのままだと「投稿タイプ」のものと「カスタム投稿タイプ」のものが、バラバラに出てくる。つまり日付でしかソートされていないもの。
そこで、「投稿タイプで並び替え、かつ日付で並び替え」というものにしたい。

いろいろ調べてみると、並び替えのfilterを通してカスタマイズするようです。
以下のコードの場合は、投稿タイプが「diary」を先に、続いて投稿タイプが「event」のものを並び替えて表示してくれる。


function order_search_by_posttype( $orderby, $wp_query ){
if( ! $wp_query->is_admin && $wp_query->is_search ) :
global $wpdb;

$orderby =
"
CASE WHEN {$wpdb->prefix}posts.post_type = 'diary' THEN '1'
WHEN {$wpdb->prefix}posts.post_type = 'event' THEN '2'
ELSE {$wpdb->prefix}posts.post_type END ASC,
{$wpdb->prefix}posts.post_date DESC";
endif;

return $orderby;
}
add_filter( 'posts_orderby', 'order_search_by_posttype', 10, 2 );

以上、検索結果で、特定のポストタイプを意図的に表示させるコードでした。

カテゴリー: wordpress | コメントをどうぞ

WordPressのメディア絡みの不具合で助けられたプラグイン

WordPressでuploadsフォルダが25GBあるサイトを引っ越ししました。

まずは、旧サイトからエクスポートするデータが大きすぎて、エクスポートされたxmlが途中で切れて壊れていた。
「投稿」や「カスタム投稿」毎に出力し、「メディア」も月単位でエクスポートすると無事にエクスポートできた。

しかしながら、新サーバーで、インポート時にタイムアウトしてしまう。
インポートの際に「添付ファイルのインポート」にチェックしインポートを行うととりあえず処理は進むが途中でタイムアウト。
試しに「添付ファイルのインポート」のチェックを外してインポートすると、100%インポートに失敗する。

タイムアウトしながらも、記事の数を確認してみると、新旧サイトで合っている。
これだけでも一安心。
画像は、インポート出来ていたり、出来ていなかったりで半壊していた。
しかたなく、FTPでuploadsフォルダへ画像をアップロード。
これでうまくいくと思っていたが、直接アップロードを行うと、WordPressのDBに記録されないので様々な不具合を起こす(当然である)
例えば、attachment関数で情報が取得できず、画像がリンク切れで表示される。
画像のリンク切れはphpでattachmentの取得方法を修正し、更に、画像を再アップロードして、とりあえず表示されるようになった。
このWordPressのDBに情報が登録されない問題に関しては、以下のプラグインにて対応!

「Media from FTP」
ざっくり言うと、uploadsフォルダの中身からDBに情報を登録してくれるもの。

Media from FTP

作者様に感謝!!

これで安心かと思っていたのだけれど、画像の追加時のメディアライブラリや、メニューのメディアライブラリでグリッド表示の際に全く検索できない!!
問題をGoogleで検索するも、さっぱりヒットしない。
何時間も時間を費やし、試しに英語で検索してみるとそれっぽいものが出てきた!

「Media Search Enhanced」
仕組みはよく分からないけど、検索をちゃんとしてくれるもの。

Media Search Enhanced

これは素晴らしい!外国人さんに感謝!!!
英文はGoogle翻訳でざっくり理解。

今回の、
新サイトは、PHP7.2.6で、MySQL5.7、WordPress 5.1.1
旧サイトは、PHP5.3.29で、MySQL5.0.8、WordPress 4.9.6
この差が引っ越しの不具合の原因とも考えられない事もない…(憶測)

カテゴリー: wordpress, お仕事 | コメントをどうぞ

ホームページのTwitterウィジェットが表示されない

ホームページ制作時に、サイド部分にTwitterを表示したいというご要望は多い。
Twitterウィジェットを読み込んで表示ということになる。

ふと、過去に制作したホームページを閲覧すると、Twitterウィジェットが表示されていない。
Twitterの仕様変更でもあったのかと考えが違うようだ。

<現象>
・safariでTwitterウィジェットが表示されない。Firefoxでは表示される。

<対応>
・safariのウイルスバスター機能拡張をOFFにすると表示され問題解決。
 ※Trend Micro Toolbarを停止

<謎>
・Firefoxでは、「Trend Micro Toolbar」がONでも、Twitterウィジェットは表示される。

カテゴリー: Mac, お仕事 | コメントをどうぞ

固定君X version2 Sierra beta リリース

先に、「固定君X_v2」のソースコードを公開しておりましたが、試しにSierraのスクリプトエディタにてコンパイルし、ドロップレットとして書き出してみました。

動くには動きました。

※複数個のフォルダ位置の記憶時や、フォルダと書類の多種複数個の記憶時に「記憶しました。」のダイアログが2回でます。

おまけ的な感じで、コンパイルして書き出したものを置いてきます。

ダウンロード KOTEIKUN_X2_Sierra_beta
※zip圧縮にてご提供です。

ダウンロード後の起動で、図のような開発元に関する警告がでますので、「システム環境設定…」の「セキュリティとプライバシー」にて許可を行ってください。


初回起動。「OK」にてこのダイアログを閉じる。


「このまま開く」を押してください。


再度起動するとダイアログが表示されますので「開く」にてご利用ください。後はダイアログは出ないはずです。

ソフトウエアの使い方は、前回の固定君Xと同じです。
固定君Xリリース・・・ソフトウエアの説明

以上、試してみたでした。

カテゴリー: Mac | コメントをどうぞ

MacBook Pro2016モデル購入、そして移行アシスタント

MacBook Pro2016モデル15inch

MacBook Pro 2008 lateモデルをずっと使っておりましたが、調子が悪いので買い換えました。
バッテリーの交換、電源アダプターの交換、メモリ増設、SSDへ換装するなど、とても愛着があります。
約9年あまり「Core2duo」で頑張りました。まだ動くのは動くのですが、グラボが熱くなると画面に小さな白い模様が出てきます。さらに、WordPressの「メディアを追加」で画面が乱れ、文字が読めなくなってしまいます。

そこで、MacBook Pro 2016 15inch スペースグレイモデルへ。
薄く、軽く、速い。
キーボードも更に薄くなり、おもちゃ感覚のタッチ感で打つ音もうるさい。

商品到着後、「移行アシスタント」にてファイルを移そうとしましたが、時間がかかりすぎて断念。
Wi-Fi経由のコピーで遅いのは覚悟しておりましが、16時間はさすがに厳しい。

1回目:移行時間16時間と表示されるも、10分ほどでMacのリンクが切れてエラー

2回目:少しファイルを減らして、移行時間15時間。10分ほどでMacのリンクが切れてエラー

3回目:さらにファイルを減らして、移行時間4時間。10分ほどでMacのリンクが切れてエラー

4回目:「移行アシスタント」でのコピーをあきらめる。

手動にて12時間ほどで移行完了。
セットアップしながら仕事を行うという大変さで合計20時間ほどMacの前にいました。

手動でファイルをコピーしている時も、Macのリンクが切れる。
最初はWi-Fiが不安定なのかと調べましたが問題ありませんでした。
もしや一度にコピーするファイルの量が関係しているのかと思いフォルダ単位でコピーしてみましたが、エラー。頭にきたので今度はファイル単位でコピーすると、うまくいく場合とそうでない場合があることが分かった。このエラーが、「移行アシスタント」の使用時に悪さをしてリンクが切れてエラーになっていたということだろう。

エラーが出たファイルやフォルダは、移行元で圧縮してから、移行先へコピー、そして展開。
これにて一件落着。

カテゴリー: Mac | コメントをどうぞ

固定君X2ソースコード公開

久々のブログの更新で御座います。

今回は「固定君X2ソースコード公開」と題しまして、ソースコードを公開致します。
ソースコードといいましても、大したものではなくAppleScriptのソースです(笑)
ソースコードには生々しい、ゴミのようなコメントアウトがありますが、お気になさらずに(笑)

処理の内容は、ドロップレットにてドロップされたアイコンの座標を記憶する。
固定君X2のダブルクリックで、記憶していた座標を呼び出し、同じ名前のアイコンの座標をセットするだけのものです。

AppleScriptが新しいOSで使えるのかどうか、そもそもエディタがあるのか分かりませんが、少しでもお役に立てればと思います。

皆さんの環境で無事に動作する事をお祈りします。


property iconList : {}
property locList : {}

on open (theItemsDropped)
	set iconList to {}
	set locList to {}
	
	tell application "Finder"
		set obj to selection

		repeat with i from 1 to (number of obj)
			set iconList to iconList & {item i of obj as alias}
			set locList to locList & {desktop position of item i of obj}
		end repeat
		
		display dialog "記憶しました。" buttons {"OK"} default button 1
	end tell
	
end open

#復元
tell application "Finder"
	if iconList = {} then
		display dialog "記憶してません。" buttons {"OK"} default button 1
	else
		repeat with i from 1 to (number of iconList)
			#display dialog (iconList as text) & "|" & (locList as text)
			try
				set desktop position of item i of iconList to item i of locList
			end try
		end repeat
	end if
end tell

カテゴリー: Mac | コメントをどうぞ

WPのオートセーブ停止

WordPress4.5.3だからなのか分からないけど、投稿にメディアを追加すると確実にコンソールログにエラーが記録されている。また、メディアを追加しない場合は、時折エラーが記録されている。
いずれにしても、一度でると、ずっとエラーを吐き続けている。

“Failed to load resource: the server responded with a status of 403 (Forbidden) wordpress”

これが出ると、「下書きとして保存」や「公開」のボタンが押せなくなり反応しなくなる。
感じとしてはサーバーがビジーで応答しきれていないようだ。
安いレンタルサーバーなので仕方がない。

調べてみると、オートセーブの部分で詰まっているようだったので、オートセーブを止めることにした。
以下を、functions.phpに追加。

function disable_autosave() {
wp_deregister_script('autosave');
}
add_action( 'wp_print_scripts', 'disable_autosave' );

しばらくは様子見。

カテゴリー: wordpress | コメントをどうぞ

「attachment wp-att-●●」のせい

WordPressをバージョンアップすると、たまに不都合な事が起きます。

今回の不都合は、特にcontentsをPHPでゴリゴリ成形している方や、lightboxを使用されている方ではないでしょうか。いろいろ作動しなくなりました。

【原因】
記事に「メディアを追加」した場合、挿入されるhtmlタグに違和感があると思われます。

「rel=”attachment wp-att-●●」

いままで無かったものが追加されてます。

【対策】
各プラグインが対応してくれるのを待っているわけにもいかず、ネットを探し回っていると以下の様な方法を見つけました(どこで見たのか忘れてしまいました)
「記事にタグが挿入される直前に、余分な対象を消す」というものです。
ご利用中のWordPressのtheme内「function.php」に追加してご利用ください。

function custom_remove_rel($html, $id) {
 if ($id>0) {
  $html=str_replace(' rel="attachment wp-att-'.$id.'"','',$html);
 }
 return $html;   
}
add_filter('image_send_to_editor', 'custom_remove_rel', 10, 2);

※relの前に半角スペースがありますが、この辺りはご都合に合わせてどうぞ。

カテゴリー: wordpress | コメントをどうぞ

hosts 書き換え 面倒 mac

久々のブログ更新。
何やら不正アクセス対策で、管理画面に入れないという状態。
しかも、5月にhtaccessにて制限がかけられていたようだ。

さて、件名が示します通り、仕事柄、端末のhostsファイルを書き換える事があるのですが、とにかく面倒でしかたなかった。現行サーバーの運用とテストサーバーでの開発、テスト・確認では、頻繁に書き換え、ことある毎に「/private/etc/hosts」へ、定型のものを貼付たり削除するのは手間。

そこで、Googleに半ば愚痴状態で「hosts 書き換え 面倒 mac」と打ち込んでみた。
意外とヒットする。しかも、「システム環境設定」より設定でき、チェックボックスのチェックにより書き換わる便利なものがあるではありませんか。早速、インストールし使用してみました。

便利!!

こういうかゆいところに手が届くものって素晴らしいですね。

ソフト名:Hosts.prefpane

ダウンロード先は以下の場所にて。
https://github.com/specialunderwear/Hosts.prefpane/downloads

カテゴリー: Mac, お仕事 | コメントをどうぞ

ATOK2012からATOK2013へバージョンアップ【続々】

MacOS10.6.8より、10.9.2へアップデートを行い、Safariが7.0.3にバージョンアップされ、WordpressとATOK2013の相性問題が解消されました。

MacBook Pro 2008 lateモデルへの、OS X Mavericksインストールによる「重さ」を気にしていましたが、メモリ8GB、SSDの恩恵により、SnowLeopardと変わらない速さにて動作しています。
Core2Duoでも、まだ行けると実感。

カテゴリー: Mac, wordpress | コメントをどうぞ