カテゴリー
未分類

スマホに専用テーマを適用するプラグインとエラー

レスポンシブデザインでwordpressのテーマを作ることがありますが、
トップページの表示内容(特にテキストの分量)やサイドバーの構成を
スマホはスマホで作りたいので、スマホ専用のテーマを作ることも多いです。
※パソコン用に作ったテーマの子テーマとして作ります。

そして、スマホにだけ、専用テーマを使って表示させるのに、
Multi Device Switcherというwordpressプラグインを使っています。

が、このプラグイン、wordpressのプライグイン新規追加で入れたものは、
最新バージョンのため、古いバージョンのwordpressを使っているとエラーが出ます。
※プラグインのインストールと有効化ではトラブルはなし。外観>マルチデバイス、で設定しようとすると、エラー表示されます。

そこで調べたら、とってもとっても的確な解説の記事がありました。
WordPressプラグイン「Multi Device Switcher」で「Fatal error: Call to undefined function wp_get_theme()」エラー対処方法 – シングスブログ

新しいwordpressで非推奨になった記述があり、それが修正された最新バージョンのプラグインを使うから、旧バージョンのwordpressでエラーが出るとのこと。

解決策として、
⇒wordpressを最新バージョンにする
⇒古いバージョン( 1.0.3)のMulti Device Switcherを入れる

今回は、状況判断でMulti Device Switcherの古いバージョン( 1.0.3)を入れました。

古いバージョンのプラグインは、wordpressプラグイン公式サイトのdevelopersというタブのページにあります。ここにあったのかー、って感じです。ふう。
http://wordpress.org/extend/plugins/multi-device-switcher/developers/

カテゴリー
未分類

iPhoneやandroidに別のテーマを表示させるプラグイン

WP-touchというプラグインでiPhoneに表示させていましたが、
WPtouchを卒業!!iPhoneに最適化されたテーマと簡単なカスタマイズ方法など[wordpress] | nori510.comで書かれているとおり、両端のスペースがもったいないし、何だか目障りなんですよね。

そこで、上記記事で紹介されていたWordPress ›WPtap Mobile Detectorという
iPhone、iPad,androidなどのテーマ設定・変更が可能なプラグインというのを導入することにしました。
※いまから作業するので、まだ使っていません。

とりあえず、WordPress › Ari « Free WordPress Themesというテーマを入れて、
それをiPhone用に使ってみることにします。

カテゴリー
未分類

WPの投稿一覧画面にサムネイルも表示しちゃう!

毎日ちょっとずつちょっとずつ、新しいこと試していくのは、やっぱり楽しい。
新しいこと(テクニックや方法)を知るきっかけは以外にも「検索」。

WPでトップページに、個別記事で使っている写真を表示する方法を調べたくて
「wp サムネイル」で検索したら、知った新しいことが
↓ ↓ ↓
投稿一覧にポストサムネールを表示させるんだ【WPハック】 | KRUZ-GRAPHIX

このサイトではなく、他の、自分でテーマを作っているサイトで試したら
無事成功しました。WP3.3.0ぐらいだったと思います。

以下のコードはそのまま貼らせてもらいました。


if ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) {

    // for post and page
    add_theme_support('post-thumbnails', array( 'post', 'page' ) );

    function fb_AddThumbColumn($cols) {

        $cols['thumbnail'] = __('Thumbnail');

        return $cols;
    }

    function fb_AddThumbValue($column_name, $post_id) {

            $width = (int) 35;
            $height = (int) 35;

            if ( 'thumbnail' == $column_name ) {
                // thumbnail of WP 2.9
                $thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
                // image from gallery
                $attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') );
                if ($thumbnail_id)
                    $thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
                elseif ($attachments) {
                    foreach ( $attachments as $attachment_id => $attachment ) {
                        $thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
                    }
                }
                    if ( isset($thumb) && $thumb ) {
                        echo $thumb;
                    } else {
                        echo __('None');
                    }
            }
    }

    // for posts
    add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );
    add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );

    // for pages
    add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );
    add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );
}
カテゴリー
未分類

カテゴリーのパーマリンク(URL)からcategoryを消すプラグイン

パーマリンクの設定を、カスタム設定にした場合、カテゴリーページのパーマリンク(URL)は
http://www.〇〇〇.com/category/カテゴリースラッグ
になります。

このcategory という部分を消すためのプラグイン
WP No Category Base」
をインストールしました。

有効化すれば何の操作をしなくてもURLが
http://www.〇〇〇.com/カテゴリースラッグ
となります。

カテゴリーベースのパーマリンクを削除するプラグイン「WP No Category Base」 » ワープレ速報 WordPress Naviを参考にさせていただきました。ありがとうございます。

カテゴリー
未分類

wordpress popular posts がSorry. No data so far.になってしまう場合

wordpress popular posts というプラグインを入れて、人気記事ランキングを表示さしたら「Sorry. No data so far. 」としか表示されなくて困っていました。

ちょっと調べたところ、どうやら以下の条件で、不具合が起こっているようです。
・WordPress 3.2.1
・wordpress popular posts 2.14 以降

あまり詳しくないので書くのもどうかと思いますが、どうも、セキュリティのためにscriptを使わずにデータベースでアクセス集計を取ろうとしたけど、データベースがうまく作れないのが原因、だそうです。

海外のwordpressのフォーラムで対応策が出ていたので、それを試したらうまく作動しました。

【対処】
wordpress-popular-posts.php ファイルの1123行目の以下の記述を書き換える。

register_activation_hook('WordPressPopularPosts', 'wpp_install');

↓ ↓ ↓ こっちにする

register_activation_hook(__FILE__ , array('WordPressPopularPosts', 'wpp_install'));

参考にしたサイト
http://wordpress.org/support/topic/plugin-wordpress-popular-posts-no-table-database-created

英語わかんないなりに試してみたものですから、どうか自己責任で対応くださいまし。データベースとか、怖いねんて。。。

カテゴリー
未分類

contact-form-7の横幅「size="40"」を変更する

contact-form-7 のデフォルトのお問合せフォームを貼り付けていました。

テーマtwentytenを2カラムにしたら、そのフォームの横幅がはみ出てしまったので、
小さくします。

プラグイン>プラグイン>contact-form-7>設定 で設定画面を開きます。
そこで、以下のような箇所があるので、最後の35×30″”を追加。

[email* your-email 30×30″”]

最初の35がsize(サイズ)、次の30がmaxlength(最大の文字数)です。

Contact Form 7 – 問い合わせフォームの設置を参考にさせていただきました。

カテゴリー
未分類

フロントページを自作のテンプレにする場合

MTからWordpressの転身者が陥りやすいこと(と言い訳してみる)。

トップページを、記事羅列ではなく、自分で設定した項目(カテゴリーごとの記事一覧など)にする場合、テーマindex.phpを編集するのではなく、以下の方法で。

1.ページ>新規追加 で、トップページのメイン部分のみ、内容を入れます。

2.管理画面>設定>表示設定>で、
「フロントページの表示」を固定ページにし、1.のページを指定します。

以上です。

///

h2タグのデザインをクラス名つけて、個別ページと違うのを使っていたので、
そこだけまだ対応できていません。どうやって実現しようか検討中です。

カテゴリー
未分類

ツイッターボタンを記事の最後に挿入

記事を読んで、なるほどーと思ったら誰かに言いたい!!
その気持ちを形にするためにリツイートボタンを設置します。

single.phpを編集します。

記事の最後に設置する場合は


<div class="entry-content">
<?php the_content(); ?>

このすぐ後にリツイートボタンのソースを挿入します。

リツイートボタンでは、その記事のタイトルとurlが自動で入るように、
「ツイート内テキスト」を<?php the_title(); ?>に、
「URL」を<?php the_permalink(); ?>としました。

ソースは以下のようになります。


<div class="twitteretc"><a href="http://twitter.com/share" class="twitter-share-button" data-url="<?php the_permalink(); ?>" data-text="<?php the_title(); ?>" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>

class指定は好きな言葉に。不要な場合は削除してください。

▼参考にさせていただきました。
WordPress/Movable Typeに公式ツイートボタンを設置する

カテゴリー
未分類

カスタムフィールドを共通テンプレートに書き込む

カスタムフィールドの値を、footer.phpなどの共通テンプレートに書き込む場合。
書くテンプレートごとにふりわけしながら値を表示する方法。


<?php if ( is_single() ) { //単独記事ページの場合 ?>
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<?php echo get_post_meta($post->ID,'★カスタムフィールドの名前を入れる★',true); ?>
<?php endwhile; endif; ?>

<?php } elseif (is_page()) { //ページの場合 ?>
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<?php echo get_post_meta($page->ID,'★カスタムフィールドの名前を入れる★',true); ?>
<?php endwhile; endif; ?>

<?php } elseif (is_home()) {// 単独記事ページ以外の場合 ?>

★ここにコードなどを入れる

<?php } else {// 単独記事ページ以外の場合 ?>

★ここにコードなどを入れる

<? } ?>
カテゴリー
未分類

WPTouchのメモ

wp-content>plugins>wptouch>themes>default
にあるindex.phpに、以下の変更を加えました。


 <?php _e("at", "wptouch"); ??>
<?php echo get_the_time('G:i') ??>

という部分を


<?php echo get_the_time('Y/m/d(D) ') ??>

single.phpは


<?php echo get_the_time('M jS, Y @ h:i a')??>

というところを、


<?php echo get_the_time('Y/m/d(D) ')??>

としました。

///
また画像表示については
wp-content>plugins>wptouch>themes>default
にあるfounctio.phpテンプレートに、以下の変更を加えました。


function catch_that_image() {
    global $post, $posts;
    $first_img = '';
    ob_start();
    ob_end_clean();
    $output = preg_match_all('//i', $post->post_content, $matches);
    $first_img = $matches [1] [0];

if(empty($first_img)){ //Defines a default image
        $first_img = "画像をアップした場所の絶対パス(http://から始まるアドレス";
    }
    return $first_img;
}

そしてindex.phpテンプレートに、以下を加えました。


<a href="<?php the_permalink(); ?>" >
<img class="alignleft" src="<?php echo catch_that_image(); ?>" alt="" width="75" height="75" />


参考にさせていただいたのは
私がWPtouchのトップページ画面をカスタマイズするために行った5つのこと