蛸メモ

PHP、Wordpressなどなど。勉強したことを全部、まとまってなくても気にせずどんどん書くメモ。

【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_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※英語(公式だけど少し古い)

【Wordpress】エラー発生時にエラーメッセージを表示するようにする

デバッグモードに切り替えることでエラーメッセージが表示されるようになる。

デバッグモードをオンにする

wp-config.phpを開き

<?php define('WP_DEBUG', true)?>

と先頭に追加するだけ。
オフにする時は追加した文を削除するだけ。

【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;
}
Author
id:web_octopus web_octopus

web無職