【WordPress】メディアライブラリ の画像IDを取得する
WordPressのメディアライブラリ にアップロードされた画像IDを取得する方法です。
例えば6件取得してギャラリーで表示するとき。
$ids = get_posts(
array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'post_status' => 'inherit',
'posts_per_page' => 6,
'fields' => 'ids',
)
);
$ids_str = '';
foreach ( $ids as $id ) {
$ids_str .= $id . ',';
}
$ids_str = rtrim($ids_str, ',');
// ショートコードでギャラリーを表示
echo do_shortcode( '[gallery ids="' . $ids .'"]' );
意外と便利なのでは!
カスタム投稿の記事一覧ページへのリンクを取得する方法
<a href="<?php echo get_post_type_archive_link('カスタム投稿名'); ?>">
地味ハマり。
【WordPress】プラグイン化したカスタム投稿をテーマ内で使うとき
通常テーマ内でカスタム投稿を表示させる時に
$args = array( "posts_per_page" => 5,
"post_type" => 'news'
);
$the_query = new WP_Query( $args );
if($posts):
と書けば表示されるのに、プラグイン化していたので表示されなかった話。
functions.phpでカスタム投稿を追加している場合は必要ないが、newsというカスタム投稿をプラグイン化していたので、以下の記述が必要でした。
public function __construct() {
add_action( 'pre_get_posts', array($this, 'add_my_post_types_to_query') );
}
// queryにnewsをセットする
function add_my_post_types_to_query( $query ) {
if ( is_home() && $query->is_main_query() )
$query->set( 'post_type', array( 'post', 'page', 'news' ) );
return $query;
}
WordPressプラグインの作り方は、また後日ちゃんとした記事にしたいと思ってます。今回はとりあえず忘れそうなのでメモだけで失礼。
WordPressでカテゴリIDからカテゴリスラッグを取得
$category = get_category('id');
$category->slug
んでスラッグを取得
WordPressで抜粋の語尾が文字化けするときメモ
以下の記事にて解決。ありがとうございます。
the_excerpt() で表示される   | Web Design Leaves
改行コード等についてのみ触れられていますが、

こういう文字化けにも対応可能でした。
仕事で使ったけれどこのブログにも対応せねばメモ。
【bbpress】管理者以外で投稿時にhtmlが反映されないときの対処【wordpress】
管理者以外で用意した投稿フォームから投稿してもhtmlタグが変換されない。

bbpressがそういう仕様ではあるのだが、それでもhtmlを使いたい場合。
Topic: Allowing Participants to post “unrestricted HTML” · bbPress.org
このスレの一番下より
WordPressにUser Role Editorというプラグインを導入。
指定したユーザにunfiltered_htmlを割り振る。

ユーザを全て管理者にするよりはいいはず。
コメント時の注意
「Twitter」「Facebook」「Google+」「WordPress」のいずれかのアカウントをお持ちの方は各アカウントと連携することでコメントできます。 コメントしたことはSNSに流れませんので、アカウントをお持ちの方はこちらの方法でコメントを投稿して下さると嬉しいです。 アカウントをお持ちでない方はメールアドレスで投稿することができます。 初回コメント時は承認後に表示されます。