tohokuaikiのチラシの裏

技術的ネタとか。

wordpress

WordPress5.5系にUpgradeするとDBアップデートでエラーが出てしまう件

結論から言うと、5.5は関係なかった。 WordPressのcron履歴の取り方が変だった。 There has been a critical error on your website. Learn more about debugging in WordPress. とか出た。日本語だと「このサイトで重大なエラーが発生しました」ってやつ。…

WordPressでの子テーマにおける正しいCSSの読み込み方

なんかイマイチな呼び出し方 子テーマ、便利ですよね。 で、ちょっと上書きしたいCSSを定義したいなーって思って「子テーマ CSS WordPress」あたりで検索するとこんな感じで出てきます。 このエントリで否定する例なので出してしまって申し訳ないのですが… …

WordPressのXMLRPCで自動投稿をPHPスクリプトから行う

なんか、昔に死ぬほどやったけど忘れてしまった…自分でAPIのメソッドを作ったりしたんだけどな。 そもそも時代も変わったので生のPHPのXMLRPCとか触りたくないのでライブラリを使う。よさげなのがあった。 とりあえずパッケージインストール composer.pharは…

WordPressの編集画面がメチャ重くなったのでメタ情報のキャッシュを作って回避

調べてみると、カスタムフィールドの定義を取得するSQLで20秒も掛かってた。 カスタムフィールド使いまくってて、20万行越えてた。 過去のデータ中から、編集画面でプルダウンを作るんだけどそれはちょっと時間かかるよね… ということで、テーマのfuncitons.…

WordPressで特定の投稿タイプで特定の部分だけ自動整形のPタグを消す (wpautopを動作させない)

filterの削除・追加とショートコードを使う custom_posttype投稿タイプの場合。

WordPressでテーマのcommon.cssがロードされてなくて焦った件

WordPressをバージョンアップしたらCSSが崩れた。 ん~~~~、ってHTMLをdiffして見てみたら Before <link rel='stylesheet' id='common-css' href='/wp-content/themes/xxx/css/common.css' type='text/css' media='all' /> After <link rel='stylesheet' id='common-css' href='/wp-admin/css/common.min.css' type='text/css' media='all' /> ってなってた。 なんで…</link></link>

WordPressで固定ページでHTMLをちまちま入力するのが面倒なのでHTMLファイルをインポートするだけのショートコードを作った

タイトルのまんま。 ちまちまと編集画面がとても大変なので、functions.phpにこんなの作った。 あとは編集画面に[include_static_html]と書いて静的HTMLをアップするだけ。 "", ), $attr)); if (is_page()) { $page = get_post(get_the_I…

WordPressのelasticsearchプラグインを使ってみたいのでメモ

もうMySQLのLIKE検索だけはいやなんじゃーー!と思い続けて幾星霜。 SennaとかHyper Estraierとかいいなーとか横目で見つつ、そんなのを使う機会もなかったけど。elasticsearchっていうのが最近の全部検索ではイケてるしヤバいということで導入してみる。実…

register_activation_hookの変数のスコープではまった件

関数リファレンス/register activation hook - WordPress Codex 日本語版にもしっかり書いてあるのに・・・。 'カンマ区切りで設定'); register_deactivation_hook(__FILE__, 'uninstall_hook_some'); register_activation_hook(__FILE__, 'install_hook_so…

WordPressのXML-RPCでマルチブログにしている際にblog_idを使用しても意味が無い件

WordPressのXML-RPCはマルチブログを考慮していない(3.5でもソース見る限りそうっぽい)。下記のファイルをプラグインにしてしまって対応。 とりあえず、カテゴリー作るときだけほしかったのでcase "wp.newCategory":だけ。

WordPressのプラグインをUnitTestする

前の続きWordPress+PHPUnitで検索したところ、 WordPress › Support » Running WordPress tests with PHPUnit もあったのだけど、自分は http://stackoverflow.com/questions/9138215/unit-testing-wordpress-plugins からnb/wordpress-tests · GitHubを使用…

wp_enqueue_scriptでver=の引数をはがしたかっただけ

調べたメモwp-includes/class.wp-scripts.php の WP_Scripts::do_item() でやってるらしい。そこ見ると、WP_Scripts::default_versionってプロパティで、このプロパティは wp-includes/script-loader.php:56 $scripts->default_version = get_bloginfo( 'ver…

wp_title()がフィルタ通しすぎな件

single_post_title()を通るときに、'wptexturize'と'strip_tags'を通して、wp_title()で'wptexturize','convert_chars','esc_html'を通してる・・・。 なんだかわけがわからない・・・

IIS6.0とContactForm7の相性が悪くて悩んだ話

なんか急にContactForm7でメール送信ができなくなったと。で、Contact-Form-7 with IISのところを見ると、formタグのaction=をpage_idのurgy方式に変更するとうまくいったと・・・。そんな場当たり的な・・・ということで、contact-form7のコード見て改造。w…

テーマ下画像表示用ショートコード

[themeimage src="images/dummy/main.jpg" style="width:900px;"] とかで、 <img style="width:900px;" src="http://xxxxxxxx/wp-content/themes/xxx/images/dummy/main.jpg"> を表示する。attributeはいくつでも可能。多分幾多の人が作ってるかと思ったが、探すより調べた方が速いので書いた。テーマのfunctions.phpに下記を追加

メニューのトップ階層にONを付ける

なんか、WordPressのtwentytenというテーマで作ったのだけど結局使わなかったのでコピペ。 <div class="menu"><ul><li><a href="..."></li><li>....</li></ul></div> みたいな階層があるときに、トップのやつにONクラスを付ける。 要:http://phpjs.org/functions/parse_url:485前提として、メニューがちゃんとURLも階層になっ…

IISでWordPressのスマートURL(?っていうの)を使いたい場合

IISは.htaccessないからなーとかそこであきらめない。あきらめたら全てが終わり。IISの404のエラーハンドラーを使う。要はApacheのErrorハンドラーなのだけど、404にWPのページを受けるようにしてやって、真に404かはWordPressに任せてしまうということ。ち…

WordPressの大量の記事削除がめんどいので、コンソールからJavaScriptを実行させ続けるだけの簡単なお仕事です

JavaScriptでこんなの書いて、Firebugのコンソールから実行ボタンを押し続けるだけの簡単なお仕事です。 jQuery('select[name=action]').val('trash'); jQuery('input[type=checkbox]').attr('checked', true); jQuery('#posts-filter').append('<input type="hidden" name="doaction" value="1">').submit();…

WordPressの権限チェックメモ

プラグイン内だと、 $current_user->has_cap("administrator") とかで取れる。もちろん、$current_userはグローバル宣言して。引数には、 administrator editor author contributor subscriber があるんだけど、editorとかってほかに引数必要だよね。その辺…