【Wordpress関数】trailingslashit()
trailingslashit()
末尾にスラッシュを追加する。
構文
trailingslashit($string)
| 引数 | 必須 | 初期値 | 説明 |
|---|---|---|---|
| $string | ○ | 末尾にスラッシュを加えたい文字列。 |
戻り値
$stringの末尾にスラッシュを加えた文字列。
備考
フォームの入力値から取得したurlを使用する際に、
<?php if ( 0 !== strpos( $url, 'http') ){ $url = trailingslashit( home_url( $url ) ); } ?>
という形でウィジェット内で使われていた。
urlの頭が「http」でない時、つまりurlが相対パスで書かれていた時に、
home_url関数とこのtrailingslashit関数を使い、
「トップページまでのパス + 入力されたurl + /」
という形に直しているのだと思う。
入力値の想定としては少し甘い気もする。
【Wordpress】テンプレートのあるディレクトリのパスを表す方法のメモ
get_template_directory_uri()
推奨
bloginfo('template_directory')
非推奨
【Wordpress関数】get_post_type()
get_post_type()
投稿タイプ(post、page、attachment、revision、nav-menu、作成したカスタム投稿タイプなど)を取得する。
構文
get_post_type( $post )
| 引数 | 必須 | 初期値 | 説明 |
|---|---|---|---|
| $post | false | 投稿タイプを取得したい投稿のID。初期値では現在のクエリの投稿。 |
戻り値
投稿タイプ名。取得できなかった場合はfalse。
【Wordpress】トップページのアドレスを取得する関数、テンプレートタグ一覧
home_url()
構文
home_url( 'path', 'scheme' )
| 引数 | 必須 | 説明 |
|---|---|---|
| path | ホームURLからの相対パス。 | |
| scheme | URLスキーム。現在利用できるのは 'http' と 'https'。 |
例
<?php echo home_url('/'); ?>
特徴
公式おすすめの取得方法。
引数にホームのurlからの相対パスを指定できる。
上記の場合はホームのurlに/をつけたものが出力される。
blog_info('url')
例
<?php blog_info('url'); ?>
特徴
wp_optionsテーブルのhomeレコードから取得している。
echoしなくてもhtmlに書き出される。
get_option('home')
例
<?php echo get_option('home'); ?>
特徴
wp_optionsテーブルから直接取得する。
get_home_url()
【Wordpress】管理画面のメニューに項目(オプションページ)を追加するために参考になるリンク
フォームを作成し入力値を保存してみる
http://ottopress.com/2009/wordpress-settings-api-tutorial/※英語
http://codex.wordpress.org/Creating_Options_Pages※英語(公式だけど少し古い)
保存した値を取得する
get_option関数を使う。
http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_option
【Wordpress】エラー発生時にエラーメッセージを表示するようにする
【CSS3】CSSだけで表現できるタグ風タグ
こんなの
- beforeで白丸を、
- afterで三角形を作っている。
.my-tag{ background-color: rgb(118, 118, 118); border-radius: 0px 2px 2px 0px; color: rgb(255, 255, 255); display: inline-block;//タグを一列に表示するため font-size: 11px; font-weight: 700; line-height: 1.27273; margin: 2px 4px 2px 10px; padding: 3px 7px; position: relative; text-transform: uppercase; } .my-tag:before{ border-top: 10px solid transparent; border-right: 8px solid rgb(118, 118, 118); border-bottom: 10px solid transparent; content: ""; height: 0px; position: absolute; top: 0px; left: -8px; width: 0px; } .my-tag:after{ background-color: rgb(255, 255, 255); border-radius: 50%; content: ""; height: 4px; position: absolute; top: 8px; left: -2px; width: 4px; }