WordPress:PDFのファイルサイズを取得して表示するショートコード

以前PHP:PDFのファイルサイズを取得して表示するのにはまったので解決策をというのを書いたのですが、そのコードはテンプレートファイルからPHPコードで呼び出す前提でした。

今回はショートコードを使用して、投稿エディターから呼び出すようにしました。
pdfはwp-contentディレクトリの中にpdfディレクトリを作ってそこに入れている想定です。

[追記]
少し改訂したものをプラグイン化して公式ディレクトリに公開しましたのでよかったら使ってください。
WordPress:PDFとかのファイルサイズを取得して表示するショートコードを公式ディレクトリに公開しました
WordPress.orgのPlugin Directory:
Get Filesize Shortcode

引数はファイル名のみですので、

ファイルサイズ:[filesize file='hoge.pdf']

のように書けば、
ファイルサイズ:1.2MB
のようにファイルサイズが返されます。

今回PDFにしていますが、他のファイル形式でももちろん問題ありません。

WordPress:投稿内で記事・固定ページ・カテゴリーページのURLをスラッグを指定して出力するショートコード

投稿内でシングルページや固定ページ・カテゴリーページヘのリンクを貼ることがありますが、直接パスを書いてしまうと、公開URLの変更やディレクトリの移動などがあった場合にリンクが切れてしまいます。
ショートコードにしておくとその辺りの作業から開放されるので便利です。

WP MEMO:投稿内で記事・ページへのリンク・URLを出力する
こちらのページでidを指定してURLを取得する方法を紹介されていたので参考にさせていただきました。
ただ、個人的にidを使うのが分かりづらくて苦手なので、スラッグから引っ張ってこれるようにしました。

引数はシンプルに2つだけ用意しています。

//全部引数を使うとこうなります
[permalink type='cat' slug='hoge']

//typeがpageのときは省略できますので最小構成はこうなります
[permalink slug='hoge']

//固定ページで子ページの場合だけ親ページのスラッグも必要になります
[permalink slug='parent/hoge']

//使うときはhref属性の中身です。
<a href="&#91;permalink slug='hoge'&#93;">ほげ</a>

ちょこっと足せばカスタム投稿タイプにも対応できるはずです。

WordPress:shortcodeをtinyMCEのボタンに割り当てるやつ

自分のサイトに入れてたのにどうやったのか忘れてたので、メモ。

1.ショートコードを作る。

2,プラグインAddQuicktagをインストール。設定。

3.カスタム投稿タイプにも使いたいときには以下のコードをfunctions.phpに

// add custom function to filter hook 'addquicktag_post_types'
add_filter( 'addquicktag_post_types', 'my_addquicktag_post_types' );
/**
 * Return array $post_types with custom post types
 * 
 * @param   $post_type Array
 * @return  $post_type Array
 */
function my_addquicktag_post_types( $post_types ) {

    $post_types[] = 'my_custom_post_type';

    return $post_types;
}