最近、うちは携帯でブログの管理したりが多くなり、なんだかモバイル向けのインタフェースのほうが携帯でいろいろのをいじりやすいため、プラグインの検索にはWordPress Mobile Packが見つかって、それを入れてみた。デスクトップブラウザまた携帯ブラウザのを確定されてから自動的にふさわしいインタフェースに切り替えられ、しかもモバイル向けの管理パネルのがあるから、よぉくモバイルでもブログの管理をする僕にはほんまにめちゃ便利で役に立ってるんだね。
しかし、そのプラグインにはうちのWordPressの設定にはちょっと不具合が出た。WordPress をインストールしたディレクトリとは別のディレクトリにホームページを設定する場合にはWordPress Mobile Packのモバイルテーマには縮小されてる写真のパス及び管理パネルのパスはうまく設定されなくなるんだ。
わかりやすく説明するとこうと語ればいいかな。
WordPressの管理→一般設定には
WordPressのURLはexample.com と ブログのURLはexample.com/blog にしてると、
管理のURLはexample.com/blog/wp-adminとなり、写真のパスはexample.com/blog/から始まるだが。
WordPress Mobile Packはexample.com/wp-adminと設定されてしまい、縮小されてる写真のパスもその/blog/の欠けてるんだ。
もちろん、もしもWordPressのURLもブログのURLも一緒ならば、上記のようなバグがWordPress Mobile Packから出てこないけど、こっちはドメインのそのままをブログのURLにしたいが、WordPress Mobile Packのそのバグに譲ったりするつもりはなくて、ネットで調べたら、修復できるパッチが見つかった。
[Plugin: WordPress Mobile Pack] Links in admin panel incorrect (3 posts)
--- plugins/wpmp_switcher/pages/mobile_admin.php.orig Wed Feb 3 21:48:00 2010 +++ plugins/wpmp_switcher/pages/mobile_admin.php Wed Feb 3 22:22:46 2010 @@ -29,7 +29,7 @@ wpmp_ms_mobile_admin();function wpmp_ms_mobile_admin() { - $base = get_option('home'); + $base = get_option('siteurl');if (($user = wp_get_current_user())==null || $user->ID==0) { header("Location: $base/wp-login.php?redirect_to=" . urlencode($base) . "%2Fwp-admin%2F"); @@ -75,7 +75,7 @@ }function wpmp_msma_overview($menu) { - $base = get_option('home'); + $base = get_option('siteurl'); $post_count = wp_count_posts('post'); $page_count = wp_count_posts('page'); print "<p>"; @@ -104,12 +104,12 @@ $not_first = true; } print "</ul></p>"; - print "<p>" . sprintf(__("...or <a%s>return to the site</a>", 'wpmp'), " href='$base/'") . "</p>"; + print "<p>" . sprintf(__("...or <a%s>return to the site</a>", 'wpmp'), " href='" . get_option('home') . "/'") . "</p>"; print "<p>" . __("A subset of the full WordPress administration is available through this mobile interface.", 'wpmp') . "</p>"; }function wpmp_msma_junior($menu) { - $base = get_option('home'); + $base = get_option('siteurl'); print "<h3>" . __("Sorry! Permission denied...", 'wpmp') . "</h3>"; print "<p>" . __("Only 'administrator' users can use the mobile admin panel.", 'wpmp') . "</p>"; print "<p><a href='" . get_option('siteurl') . "$base/wp-login.php?action=logout'>" . __("Login as a different user", 'wpmp') . "</a> " . __("or", 'wpmp') . " <a href='$base/'>" . __("return to the site", 'wpmp') . "</a></p>"; @@ -173,7 +173,7 @@ }function wpmp_msma_post_list() { - $base = get_option('home'); + $base = get_option('siteurl'); wp('orderby=modified'); if(have_posts()) { global $post; @@ -263,7 +263,7 @@ }function wpmp_msma_edit_comment(&$comment, $full = false) { - $base = get_option('home'); + $base = get_option('siteurl'); $id = $comment->comment_ID; $content = strip_tags($comment->comment_content); $title = strip_tags($comment->comment_author); @@ -307,7 +307,7 @@function wpmp_msma_options_list() { global $wpdb; - $base = get_option('home'); + $base = get_option('siteurl'); $count = $wpdb->get_results("SELECT count(*) as cnt FROM $wpdb->options " . wpmp_msma_options_filter()); $count = ($count[0]->cnt); $size = 10; @@ -428,7 +428,7 @@function wpmp_msma_check_referer() { - $base = get_option('home'); + $base = get_option('siteurl'); $admin = "$base/wp-admin"; $referer = $_SERVER['HTTP_REFERER']; if (substr($referer, 0, strlen($admin)) != $admin) {--- plugins/wpmp_switcher/pages/mobile.php.orig Wed Feb 3 22:25:57 2010 +++ plugins/wpmp_switcher/pages/mobile.php Wed Feb 3 22:27:52 2010 @@ -73,6 +73,9 @@ <?php if($menu) { $base = get_option('home'); + if ($title == 'Admin') { + $base = get_option('siteurl'); + } print '<div id="menu"><ul>'; $page = $_SERVER['REQUEST_URI']; if(substr($page, -9)=="/wp-admin") {
最初は、上記のパッチを見て、どうしたらいいかよくわからなかったが、詳しく読んでみたら、とりあえず、ソースコードなかの符号の+だと追加すべき、-だと削除すべきなんだ。掲示板の投稿者の説明によると、WordPress Mobile Packの作者はリンクの指定のget_optionはsiteurlよりhomeにしたため、このバグがでるそうなんだ。もちろん、そのわけで、wpmp_transcoder.phpのソースコードにも同じような修正したら、縮小されてる写真のパスも正しくなるんだね。
Related posts:

















