wordpressでショートコードで動くプラグインを作る

もう手垢もついてますが、読んでいただいている方からのリクエストよりwordpressに独自のショートコードを制作し、出力する方法をご紹介します。

function.phpにでも書いてくだされば機能します。

概要
ショートコードで囲んだ「, 」カンマ区切りの文字列を、<li></li>でコーディングする動きを作ります。

[list_garo8]1,2,3,4,5,6,7,8[/list_garo8]

と書いた場合にリストとして表示されます。コードは↓

function list_garo($atts,$content=null){

extract(shortcode_atts(
array(
'class'=>'',
'float'=>'none',
),$atts)
);

$content=do_shortcode($content);

if(isset($content)){
	$values = explode(',',$content);
	$count = count($values);
	$float="style="float:${float};"";
	$output_html="
	for($i=0; $i < $count; $i++){
		$output_html .= "</pre>
<ul>
	<li>";
		$output_html .=$values[$i]."</li>
</ul>
<pre>

";

		}
		if($float != 'none'){
		$output_html.="</pre>
<div style="clear: both;"></div>
<pre>
";

		}
		$output_html.="

";
	return $output_html;

	}	

	else{ return '';}

	}
add_shortcode( 'list_garo8','list_garo');


作る関数は
function list_garo($atts,$content=null);


とします。関数名はその他の関数と名前がタブらないようにつけてくださいね。

引数$attsは後ほどショートコード内で設定できる値、「属性」の情報が渡されます。$contentは、ショートコードで囲まれたテキストを表します。

それでは一つ一つ見ていきます。
function list_garo($atts,$content=null){

extract(shortcode_atts(
array(
'class'=>'',
'float'=>'none',
),$atts)
);

$content=do_shortcode($content);
//ここに後でif(isset($content){}を入れます。
 }
add_shortcode( 'list_garo8','list_garo');


extract(shortcode_atts(
array(
‘属性名’=>’値’,
‘属性名’=>’値’,
),$atts)
);

は、属性名をキーとした配列を作り出します。ショートコードの作り方として覚えておいていください。

$content=do_shortcode($content);

は、ショートコードでショートコードを囲ってしまった場合の対処です。
do_shortcode();は囲ったショートコードの機能を正常に動かすための関数です。

if(isset($content)){
	$values = explode(',',$content);
	$count = count($values);
	$float="style="float:${float};"";
	$output_html="
	for($i=0; $i < $count; $i++){
		$output_html .= "</pre>
<ul>
	<li>";
		$output_html .=$values[$i]."</li>
</ul>
<pre>

";

		}


if(isset($content)){ }の中身を見ます。
$contentがある場合(ショートコードで囲ったテキストがある場合)に関数を実行させます。ここでは、explode(‘分割する文字’,配列のもと);を使い、$contentを分解して配列にします。カンマで区切って配列を作ります。それを$valuesに代入します。

$countに配列の個数を代入します。count(配列);は配列の要素の数を返してくれます。

$floatは後々、ショートコードの属性でfloatを指定出来るようにしてあります。

$output_htmlはテキストを表示させるための変数として<ul style=”list-style-type: none; clear:both;”>をあてがいます。

後は、$countent配列の要素の数だけ、製成したいHTMLを、for文を使って組み上げます。$output_htmlにfor文内で製成したHTMLを追記していく形をとります。returnを使って$output_htmlを出力します。
if($float != 'none'){
		$output_html.="</pre>
<div style="clear: both;"></div>
<pre>
";

		}
		$output_html.="
";
	return $output_html;

	}

	else{ return '';}

製成が終わったら、ショートコードを登録します。ショートコードの登録は

add_shortcode( ‘ショートコード名’,’ショートコードを適応させる関数名’);

を使用します。ここでは、
add_shortcode( ‘list_garo8′,’list_garo’);

となります。このような簡単なコードであれば、簡単ですが、複雑になるとクラスを製成して制作した方がラクな場合があります。

次回はこのコードをプラグインにする方法をご紹介します。

ワードプレスのギャラリー機能

1363650_26444767



新しくなったワードプレスのギャラリー機能を使ってみました。

確かに使いやすいです。

改行が思ったように動かない場合

ワードプレスで記事を書いていると、普通に改行しようと『ENTER』をおしますよね。でもなにやら空白が大きく取られてしまう。例えば

こんな

感じです

ね。

一行空いてますね。これで余白を取って読みやすくしているのならいいのですが、直ぐ下に文章を改行したい場合、『Shiftキー+Enter』を押してください。それだけで文章の直ぐ下に改行されます。

こんな
感じ
です。

意外と知られていなかったので書き込んでみました。

大家さん向けワードプレス無料テーマ配布開始!

大家さんのためのワードプレステーマを本日から配布しています。

http://npc-a-resu.hustle.ne.jp/apaman_template.html

 

全国の大家さん、ご自身で始めてみませんか?もう所持物件を不動産店舗に任せきりにするのではなく、24時間物件を詳しく紹介してくれる営業マンを雇いましょう。それが物件専用WEBサイトです。

 

ワードプレスを扱える環境であれば、直ぐに無料で始めることができます。

バナーや画像が必要であれば、500円から制作をしておりますのでご相談ください。

全国の大家さん、WEBを勉強中の方のお役にたてれば幸いです。

 

物件に合うようにデザインカスタマイズを行ないたい方は、ご相談ください。

 

設置のみ・・・・・¥12,000

デザインカスタマイズ・・・・・¥30,000~

アドバイスで済むトラブル・・・・・無料

 

で承っております。

 

 


 

※上記バナー画像、デモサイトにはartworks様よりお借りした写真が使用されています。ダウンロードいただけるファイルには入っていません。

アクセスされたページの情報を得る!

ワードプレスにおいて、アクセスされたページの情報を得るのは簡単です。

ワードプレスには、ページの情報を一つのオブジェクトに格納してくれています。これがかなり助かるのです。ではそのオブジェクトとは

 

$wp_query

 

です。(オブジェクトとは、データと、そのデータを扱う方法を一まとめに格納された変数のことです。)

 

例えば現在表示されているページはどの投稿に属しているか、という情報は

 

$wp_query -> get_query_objiect( );

 

で丸々得ることができます。

これを変数に入れる場合は

 

$cur_post = $wp_query -> get_query_objiect();

 

で可能です。ここから、IDを取り出したい場合は

$cur_post -> ID ;

 

タイトルなら

$cur_post -> post_title ;

 

内容であれば

$cur_post -> post_content ;

 

投稿したユーザーなら

$cur_post -> post_author ;

 

投稿日であれば

$cur_post -> post_date ;

 

更新日

$cur_post -> post_modified ;

 

公開か下書きかの情報は

$cur_post -> post_status ;

で得ることができます。

 

※現在表示中の記事が持つカテゴリーが欲しいなら、

変数 = get_the_category( 投稿のID ) ;

です。例えば、$cur_post -> ID ;で得たIDでカテゴリーを得るならば、

$post_cats= get_the_category( $cur_post -> ID ) ;

でゲットできますよ。