WEB関連全般

初期テーマの設定【WordPress】

WordPressの初期テーマは、「twentyxxxx」のような、最初から入っているテーマに設定されています。

これはこのテーマを削除しても、インストール直後はそのテーマが選択されている状態となります。

1サイト・1Wordpressなら、特に初期テーマは気にしなくてもよいのですが、マルチサイト化する場合は、初期テーマを任意のものにしたい、かもしれません。どのサイトもテーマを統一したいのに追加するたびに、テーマを選択しなくてはなりませんからね。

ということで、Wordpress本体の中から、設定されている場所を探します。

wp-includes/default-constants.php

の中に、

define( 'WP_DEFAULT_THEME', 'twentyfourteen' );

という記述があります。

これがテーマの初期設定です。

これを変えれば、初期テーマを変えることができるのですが、Wordpressをアップデートするたびに修正するのは面倒なので、wp-config.phpにこれを追記します。

define( 'WP_DEFAULT_THEME', 'xxxxxxxx' );

xxxxxxxxには、初期テーマにしたいテーマのフォルダ名を記述してください。

これで、こちらの設定が優先されます。

nandani | 2014年09月12日 | コメント(0) | トラックバック(0) | CMS関連

固定ページの子ページを表示するショートコード【WordPress】

開いた固定ページの子ページが、自動的にリスト表示されるようにしたい場合、wp_list_pagesをショートコードにしてしまうと便利です。

functions.phpに下記を追記します。

function pageChild() {
	global $post;
	
	$args = array('depth'        => 0,
		'show_date'    => NULL,
		'date_format'  => get_option('date_format'),
		'child_of'     => $post->ID,
		'exclude'      => NULL,
		'include'      => NULL,
		'title_li'     => '',
		'echo'         => 0,
		'authors'      => NULL,
		'sort_column'  => 'menu_order, post_title',
		'link_before'  => '',
		'link_after'   => '',
		'exclude_tree' => '' ); 
	
	$return = '<ul class="page_child">';
	$return .= wp_list_pages($args);
	$return .= '</ul>';
	
	return $return;
}
add_shortcode('page_child', 'pageChild');

子ページ持ちの固定ページに

[page_child]

と記述すると、その子ページがリスト表示されるようになります。

関数自体はなんてことないものですが、ショートコードって便利ですね。

nandani | 2014年06月11日 | コメント(0) | トラックバック(0) | CMS関連 | PHP関連

Facebookページのタイムラインを取得する方法

Facebookページのタイムラインを取得する方法のメモ。

タイムラインは以前紹介したアルバムや写真を取得する方法よりも、ひと手間かかります。(アクセストークンを取得する必要があるため)

プログラムは下記の通り。


<?php
/*
facebookページのタイムラインを取得する
*/

$facebook_page_id = '...';    //FacebookページのID
$access_token = '...';        //アクセストークン
$url = "https://graph.facebook.com/".$facebook_page_id."/feed?access_token=".$access_token;
$res = file_get_contents($url);
$data_array = json_decode($res, TRUE);

if(!empty($data_array["data"])){
print_r($data_array["data"]);
}
?>

 

○「$facebook_page_id」には、FacebookページのIDを代入してください。

IDはFacebookページを開いたときのURL「https://www.facebook.com/〇〇〇〇」の○○○○部分か、もしくは「https://www.facebook.com/pages/□□□□/○○○○?ref=hl」の○○○○部分。

※前者の例
https://www.facebook.com/FacebookJapan
の場合は「FacebookJapan」

※後者の例
https://www.facebook.com/pages/ダリの雑記/12345678901234567?ref=hl
の場合は「12345678901234567」(こんなURLはありませんがw)

 

○「$access_token」には、アクセストークンを代入します。

アクセストークンの取得方法は、以下の通り。

  1. https://developers.facebook.com/apps にアクセスし、「新しいアプリを作成」からアプリを作成します。(アプリ作成と言っても、ほぼアプリ名を重複しないように決めるだけ)
  2. アプリを作成すると、基本設定画面にて「App ID」と「App Secret」が取得できます。
    WS000282
  3. 「App ID」と「App Secret」を下記のURLに代入し、アクセスします。
    https://graph.facebook.com/oauth/access_token?client_id=(App ID)&client_secret=(App Secret)&grant_type=client_credentials
  4. アクセスすると、
    WS000283
    という風に表示されます。これがアクセストークンです。
    この値を「$access_token」に代入してください。

以上の2つを代入後、PHPを実行してください。

う~む。そのうちアルバムや写真もアクセストークンが必要になるのかな?

 

参考サイト

ソーシャルメディアAPIリファレンス - ウォールを取得する

Access Tokenを取得する

Graph API : Facebook開発者向けドキュメントの日本語訳とTips

nandani | 2013年10月22日 | コメント(0) | トラックバック(0) | API関連 | PHP関連

さくらインターネットに大容量のDBデータをインポートする

さくらインターネットに標準で用意されているphpMyAdminは、インポートするファイルの容量に限界があります(16MB)。

さてどうしたものか、sqlを実行するPHPプログラムでも作ってみるかと思ったのですが、・・・まてよ?

phpMyAdminをサーバのウェブ領域にアップして、そっちを使ったらいいんじゃね?

ってことで、phpMyAdminをダウンロードし、サーバにアップロードして試したところ普通にうまく行きました。

PHPのアップロードサイズはデフォルトでは数MB程度ですが、コントロールパネルの「PHP言語に関する設定>PHP設定の編集」で

memory_limit = 〇M
post_max_size = 〇M
upload_max_filesize = 〇M

と記述することにより、好きに設定できるので(限界はあると思いますが)インポートファイルの容量は(よほどでない限り)気にすることはありません。

インポートが完了したらアップしたphpMyAdminを削除して完了。

よかったよかった。

MTタグとWordPressタグ【カテゴリー編】

メニューに戻る

WordPressにおいて、カスタムタクソノミーもカテゴリーと同じように扱うことができますが、割と使用する関数や変数が異なりややこしいので、ここは通常の「カテゴリー」に絞ります。

(さらに…)

nandani | 2013年06月26日 | コメント(0) | トラックバック(0) | CMS関連

MySQL server has gone away

メモ。

画像ファイルをMySQLデータベースにINSERTしようとしたところ、

MySQL server has gone away

というエラーが出てしまいました。

解像度が低い画像ならうまくいくけど、ある一定を超えるとこのエラーが出てしまう。

エラーのワードで調べたらすぐに解決しました。

my.cnfファイルに

[mysqld]
max_allowed_packet=32MB

という記述を追加し、MySQLを再起動するだけ。

データの型をLONGTEXT型とかにしても、ここではじかれてしまっては意味がないですね^^;

参考サイト

max_allowed_packet、巨大なデータをサーバへ送る場合 - mir the developer

インポート時に「MySQL server has gone away」が発生したときの対処 | 南紀熊野ウェブサービス(大阪、新宮市)

nandani | 2013年06月26日 | コメント(0) | トラックバック(0) | WEB関連全般

サイトのレイアウトを変更しました

サイトのレイアウトを変更しました。(見た目はあまりかわってないけど^^;)

23日に作業していましたが、もしその最中にご覧になった方がいらっしゃいましたら申し訳ございません。

レイアウトが崩れたりしたと思います。m(_ _ ")m スイマセン

とりあえず、PCでの表示幅を広げたのと、タブレットとスマホでアクセスしたときのレイアウトも変えてみました。

iPadとipod touchでは確認してうまく表示できてますが、もし表示がおかしかったりする場合はご連絡いただけると大変助かります^^

レスポンシブwebに変更するに当たっての参考サイト

レスポンシブWebデザイン(レスポンシブ・ウェブデザイン) - ぺーぺーSEの日記

レスポンシブWebデザインでブログをiPhoneとandroidに対応させてみた | Mnemoniqs Web Designer Blog

レスポンシブWebデザインの作り方(簡単設定方法) | フリーランスWebデザイナーの仕事

レスポンシブWebデザイン | CMSならHeartCore(ハートコア)株式会社ジゾン(XyXon)

wp_is_mobile関数 – WordPress3.4から実装されたパソコン用サイトとスマートフォン用サイトを分ける条件分岐タグ | 株式会社コミュニティコム

 

nandani | 2013年06月23日 | コメント(0) | トラックバック(0) | News & Topics

get_postsで取得したデータでも、ショートコードを実行する【WordPress】

メモ。

the_content()で表示した「内容」ならば自動的にショートコードが実行されるのですが、get_postsで取得した記事の「内容(例えば$hoge->post_content)」では、ショートコードが実行されません。

そのままショートコードが表示されてしまいます。

そういう場合は、do_shortcode関数を使用しましょう。

do_shortcode($hoge->post_content);

これで、内容中に含まれるショートコードが実行されるようになります。

なお、get_the_content()でも同様にショートコードが実行されませんので同じく

do_shortcode(get_the_content());

としてください。

参考サイト

WordPress: フィルターより前にショートコードを実行させる | 半月記 @ 半月記半月記

do_shortcode:WordPress私的マニュアル

nandani | 2013年06月21日 | コメント(0) | トラックバック(1) | API関連 | CMS関連

Copyright(c) 2010 - 2024 ダリの雑記