2012年03月30日

PHPでTwitter bot

Twitterを作る方法。

まずはTwitter Applications | dev.twitter.comでアプリケーション登録を行ない、abraham/twitteroauth - GitHub からOAuth認証用のライブラリをダウンロードします。あとは次のようなコードでTwitterに投稿できます。

<?php
require_once("twitteroauth.php");
$consumer_key = "consumer_key";
$consumer_secret = "consumer_secret";
$access_token = "access_token";
$access_token_secret = "access_token_secret";
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
$req = $to->OAuthRequest("http://api.twitter.com/1/statuses/update.xml","POST",array("status"=>"OAuth経由のツイートテスト"));
header("Content-Type: application/xml");
echo $req;
?>


via:PHP+OAuthでTwitter
タグ:PHP twitter
posted by ねこまんま at 18:34| Comment(0) | TrackBack(0) | 関数 | このブログの読者になる | 更新情報をチェックする

PDOでLIKE検索

$like=$_GET['q'];
$stmt = $pdo->prepare('SELECT count(*) AS con FROM popular WHERE title LIKE "%?%"');
$stmt->bindParam(1, $like);


などと書いて旨く動かずにはまっていたら次のように書かなくては駄目だった。

$like="%".$_GET['q']."%";
$stmt = $pdo->prepare('SELECT count(*) AS con FROM popular WHERE title LIKE ?');
$stmt->bindParam(1, $like);


prepare内で%は使ったらだめなんだって
タグ:Like PDO
posted by ねこまんま at 02:56| Comment(0) | TrackBack(0) | SQL | このブログの読者になる | 更新情報をチェックする

2012年03月27日

WordpressでPCとスマホの表示を切り替える

WordpressにPCとスマホの表示を切り替えるボタンを設置。まずはfunction.phpに次のコードを追加

if($_GET['pc_flag']=="true"){
$_COOKIE['pc_flag']="true";
}else if($_GET['pc_flag']=="false"){
$_COOKIE['pc_flag']="false";
}
function is_mobile () {
$useragents = array(
'iPhone', // Apple iPhone
'iPod', // Apple iPod touch
'Android', // 1.5+ Android
'dream', // Pre 1.5 Android
'CUPCAKE', // 1.5+ Android
'blackberry9500', // Storm
'blackberry9530', // Storm
'blackberry9520', // Storm v2
'blackberry9550', // Storm v2
'blackberry9800', // Torch
'webOS', // Palm Pre Experimental
'incognito', // Other iPhone browser
'webmate' // Other iPhone browser
);
$pattern = '/'.implode('|', $useragents).'/i';
return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}
function is_mobile2 () {
if($_COOKIE['pc_flag']=="true"){
return true;
}else{
return false;
}
}


テンプレート内では以下のコードで表示を切り替えます。

//spモード
if(is_mobile() and !is_mobile2()):

//pcモード
if(!is_mobile() or is_mobile2()):

//spでpcモード
if(is_mobile() and is_mobile2()):


あとはspモード時にPC用を見るボタンを追加

<a href="xxx.php?pc_flag=true">


spでpcモード時にはSPに戻るボタンを追加

<a href="xxx.php?pc_flag=false">
タグ:WordPress
posted by ねこまんま at 13:07| Comment(0) | TrackBack(0) | Wordpress | このブログの読者になる | 更新情報をチェックする

2012年03月05日

Wordpressに設置したTwitterウィジェットのURLが文字化けする

Wordpressに設置したTwitterウィジェットのURLが文字化けしてまう場合、ページのURLを取得ではなく、data-url属性でURLをしていしてあげるとうまくツイートできるようになります。

<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal"  data-url="<?= get_permalink() ?>" data-via="aidecooffice" data-lang="ja">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
タグ:WordPress twitter
posted by ねこまんま at 08:35| Comment(0) | TrackBack(0) | Wordpress | このブログの読者になる | 更新情報をチェックする

2011年12月06日

Smartyでassignされたデータを表示する

Smartyでassignされたデータを表示する方法

{$widget|@debug_print_var}

みたいに@debug_print_varを指定する

posted by ねこまんま at 17:00| Comment(0) | TrackBack(0) | smarty | このブログの読者になる | 更新情報をチェックする

2011年11月24日

WordPressでRSSからアメブロの広告を除いた一覧を表示する

WordPressでRSSからアメブロの広告を除いた一覧を表示する方法。RSSの取得表示はmcRSSlist Pluginを利用

if ($mb_encoding) { // multibyte encoding conversion
$itemTitle = mb_convert_encoding($itemTitle, $charset, 'auto');
}


67行目に次のコードを追加

if ($mb_encoding) { // multibyte encoding conversion
$itemTitle = mb_convert_encoding($itemTitle, $charset, 'auto');
}
if(preg_match("/^PR:/",$itemTitle)==1){
continue;
}


これでOK
タグ:WordPress
posted by ねこまんま at 09:42| Comment(0) | TrackBack(0) | Wordpress | このブログの読者になる | 更新情報をチェックする

WordPressで記事IDを指定してカスタムフィールドの値を取り出す

WordPressで記事IDを指定してカスタムフィールドの値を取り出す

post_custom("shopsimagefield")


なんてしてるとアーカイブテンプレートなんかで予期せぬフィールドを取得してしまうことがある。

$custom = get_post_custom_values("shopsimagefield",$tax_post->ID);
print $custom[0];


なんて形で記事IDを指定してカスタムフィールドの値を取り出すと間違いない!
posted by ねこまんま at 09:25| Comment(0) | TrackBack(0) | Wordpress | このブログの読者になる | 更新情報をチェックする

WordPressのカスタム分類で登録したカテゴリーを入れ子構造のままとりだす

カスタム分類を利用して登録したカテゴリーを取り出す方法。

$tax_name = 'state';
$taxs = get_terms($tax_name);
if(!is_wp_error($taxs) && $taxs) {
foreach($taxs as $tax) {
var_dump($tax);
}
}


このままだと全てのカテゴリーが並列で出力される。

$tax_name = 'state';
$taxs = get_terms($tax_name);
if(!is_wp_error($taxs) && $taxs) {
foreach($taxs as $tax) {
if($tax->parent!=0){
$child[$tax->parent][] = $tax;
}else{
$parent[] = $tax;
}
}
foreach($parent as $tax) {
var_dump($tax);
foreach($child[$tax->term_id] as $tax2) {
var_dump($tax2);
}
}
}


みたいに一度配列に入れてからさばくと親と子供を区別して出力できる
posted by ねこまんま at 09:21| Comment(0) | TrackBack(0) | Wordpress | このブログの読者になる | 更新情報をチェックする

2011年11月23日

Custom Field GUI Utility 3.1の画像投稿がおかしかったので修正

WordPress のプラグイン「Custom Field GUI Utility 3.1」で画像投稿がおかしかったので修正。

[222]http://hoge.net/.....

といった具合に頭にID番号がついて登録されちゃうので旨く表示できない。プラグインフォルダにあるjs「cfg-utility.js」の以下の部分を修正

 $(imf_clc_id).find('input.data').val(imf_val);
// テキストフィールドにファイルの種類のアイコンとキャンセルボタンを表示
var media_url = getMediaURL (imf_val);




 // テキストフィールドにファイルの種類のアイコンとキャンセルボタンを表示
var media_url = getMediaURL (imf_val);
$(imf_clc_id).find('input.data').val(media_url);


これでうまくいく
タグ:WordPress
posted by ねこまんま at 20:32| Comment(0) | TrackBack(0) | Wordpress | このブログの読者になる | 更新情報をチェックする

WordPressのカスタム投稿タイプで投稿した内容を詳細 ページで表示する

WordPressのカスタム投稿タイプで投稿した内容を詳細ページで表示する方法。

詳細ページのテンプレート名は「single-カスタム投稿タイプ名.php」

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<p><?php the_time('Y年m月d日') ?></p>
<p><?php the_content(); ?></p>

posted by ねこまんま at 13:49| Comment(0) | TrackBack(0) | Wordpress | このブログの読者になる | 更新情報をチェックする