CUSTOMIZED」タグアーカイブ

IE6でSyntaxHighlighter Evolvedでハイライトされない

SyntaxHighlighter Evolvedをハイライト表示しようとすると、
IE6でハイライトされないかと思います。

CSSの表記ミスです。
残念ながら記載する順番を間違えてる。
(※IE6を考えなければ問題ない)

そのための対応としては、
表示CSSを
たとえば、ここだと『shThemeDefault.css』を修正する。

.syntaxhighlighter .line.alt2を指定したあとで、

/* Highlighed line number */
* html .syntaxhighlighter .line.highlighted .number
{
	『.syntaxhighlighter .line.highlighted .numberで指定した内容』
}
/* Highlighed line */
* html .syntaxhighlighter .highlighted
{
	『syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 で指定した内容』
}

因みに念のため、CSSハックを使っているので、嫌いな人は別の対処法を考えてください。

※対象:バージョン2.3.1以上

[wp×SQLite]存在しないカテゴリ名でPDOエラー

PATH_INFO形式のとき
http://example.com/category/aaaa/
みたいに存在しないカテゴリ名前を出すとPDOエラーが出る
そんなときの対処

wp-content/pdo/PDOEngine.php

private function executeQuery( $statement )内

if (count($this->extractedVariables) > 0){
	$this->queries[] = "Executing:\t ".print_r($this->extractedVariables, true);

if (count($this->extractedVariables) > 0){
	//$this->queries[] = "Executing:\t ".print_r($this->extractedVariables, true);
	$this->queries[] = "Executing:\t (nodata)";

とする。

「全部出そうが出すまいが、データがないもんはないので知らんわい!」という対処。

IE6でSyntaxHighlighter Evolvedが崩れる

気になって寝れずうっかり作業してた。

現在のスキンテーマがwp.vicunaを基盤にしているせいかもしれないが、
IE6で巧く表示されない。
そのときの対応。

/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/styles/shCore.cssに追加

* html .syntaxhighlighter .line .content{
	height:1.2em !important;
	margin:0 !important;
}
* html .syntaxhighlighter .ruler{
	width: 100% !important;
}

多分shCore.css.gzも作り直した方がいいんだろうと思うよ。

何の迷いもなくCSSハックを使っているので、嫌いな人は避けたらいいです。

追記日:2009.11.18 0:58
※バージョン2.3.1になったため、この対応不要になりました。
代わりにIE6でSyntaxHighlighter Evolvedでハイライトされない問題が起きるようになりました。

[wp×SQLite]ページ送り『SELECT FOUND_ROWS()』対応

categoryとかarchiveとか一覧表示すると次のページとかのリンクが出ない。
そんな条件がなければ出るのに…

つまりページ数認識ではないか?

調べてみたところ、結構な記事数があるカテゴリでも
『$wp_query->max_num_pages』が『1ページ』となってしまっている。

つまりSQL文がオカシイ

こんな単純なミスが修正されないハズがないので、
またSQLiteとMySQLとの仕様差異と皆気づくところ。

WP_Queryはwp-includes/query.phpにあるので確認したところ、そりゃ当然アタリ。
続きを読む

[wp×SQLite]Simple Tagsとか使う

色々変わって読みづらくなったので、いっそ書き換え

例えば
SELECT p.post_title FROM テーブル AS p
というSQLがあるとする。

MySQLなら配列は『$うんつら["post_title"]』として返してもらえるんだけど、
SQLiteだと『$うんつら["q.post_title"]』として返される。

そのせいでSimple Tagsとか巧く動かないプラグインが多数ある。

前回同様SQL文を書き換えようと思ったのだけど、
『q.post_title as post_title』みたいに
『AS うんつら』と既に宣言されているものもあるのだから、なかなか巧くいかない。
※q.post_title as post_title AS post_title as post_title てなる

そこで『配列の添字を書き換えて作り直す』修正をする。
続きを読む

[wp×SQLite]ページ編集が巧くいかない

ページの編集が巧く使えない。
あくまでページ編集。
原因は$hierarchical_post_types[0]がうまく取得出来ないとこにあった。
SQLiteとMySQLで使えるSQLが違うから、他にも出てくるかもしれない。
続きを読む

[wp×SQLite]日付から記事取得

WordPressでSQLiteを使うと、年・月・日 つまりは日付から記事を読み出すのがうまくいかない。
これはMySQLとSQLiteとでSQL文が違うために起きている。

言わば、『MySQLとは違うのだよ MySQLとは!!!』ということ

『YEAR(wp_posts.post_date)=2009』は
 『wp_posts.post_date like "2009-%"』か
 『strftime('%Y',wp_posts.post_date)='2009'』

『MONTH(wp_posts.post_date)=04』は
 『wp_posts.post_date like "%-04-%"』か
 『strftime('%m',wp_posts.post_date)='04'』

『DAYOFMONTH(wp_posts.post_date)=04』は
 『wp_posts.post_date like "%-04-%"』か
 『strftime('%d',wp_posts.post_date)='04'』
に修正が必要
続きを読む

[wp×SQLite]Warning: array_merge()

コメントを編集する際にエラーが出てきた。

Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /XXX/YYY/ZZZ/public_html/wp-includes/comment.php on line 1097

array_mergeに入れるのは両方配列でないといけない。
つまりどっちかが『配列じゃねぇ!!』てことみたいだ。

みてみたら$commentが『Array()』ではなくて『Array』。
確かに配列ではない。でもArray。
どゆこと!?
て思いながらとりあえずの修正。

/wp-includes/comment.phpを修正

以下の13行目を追記

function wp_update_comment($commentarr) {
	global $wpdb;

	// First, get all of the original fields
	$comment = get_comment($commentarr['comment_ID'], ARRAY_A);

	// Escape data pulled from DB.
	$comment = $wpdb->escape($comment);

	$old_status = $comment['comment_approved'];

	// Merge old and new fields with new fields overwriting old ones.
	if(count($comment) > 1)	// @to
	$commentarr = array_merge($comment, $commentarr);

	$commentarr = wp_filter_comment( $commentarr );

コメント出来た。

こんなん繰り返してたら、アップデートしづらくなるなぁ…

[wp×SQLite]PDO (SQLite) For WordPress改造版

WordPress > PDO (SQLite) For WordPress ? WordPress Plugins』を使うための改造を施していったもの。
結構な改造量になったので、DL出来るようにしてみた。
自己責任でご使用ください。
※2.X~3.X時代のもの。現在は更新していません。
 4.X以降なら『SQLite Integration』を使用ください。
続きを読む