ワードプレスの記事内でPHPを利用したく、ショートコードを使いたいと思っています。
ネットで調べていて、
function hogeFunc() { return "ショートコード"; } add_shortcode('hoge', 'hogeFunc');
とfunction.phpに記載し、該当部分で[hoge]と記述すればショートコードが利用できるとのことだったのですが、
実行したいPHPである
<?php $args = array( 'post_status' => 'publish', 'post_type' => 'post', 'posts_per_page' => $options['footer_blog_num'] ); if ( 'rand' == $footer_blog_post_order ) { $args['orderby'] = 'rand'; } else { $args['orderby'] = 'date'; if ( 'date1' == $footer_blog_post_order ) { $args['order'] = 'DESC'; } else { $args['order'] = 'ASC'; } } ?>
をそのまま"ショートコード"と書かれたところに入力してもうまく反映されませんでした。
正しく反映させる方法をご教授ください。
よろしくお願い致します。
コードからも何がしたいかよくわかりません
「記事中でフッターの記事一覧に表示する記事の数と表示順を指定できるようにしたい」
みたいな感じですか?
現在は、以下のようなPHPがfooter.phpに記載されているのですが、
これをショートコードを使い、footerではなく、固定ページ内の記事途中に表示させたいと思っています。
<?php
$options = get_desing_plus_option();
$footer_blog_post_order = $options['footer_blog_post_order'];
$logo_font_size_footer = $options['logo_font_size_footer'] ? $options['logo_font_size_footer'] : 26;
// 無限スクロールするコンテンツのクラス
$target = is_post_type_archive( 'news' ) ? '.p-news-list__item' : '.p-blog-list__item';
$max_num_pages = $wp_query->max_num_pages;
$message = __( 'No more post', 'tcd-w' );
$img_path = get_template_directory_uri() . '/img/ajax-loader.gif';
// ブログコンテンツ
$args = array(
'post_status' => 'publish',
'post_type' => 'post',
'posts_per_page' => $options['footer_blog_num']
);
if ( 'rand' == $footer_blog_post_order ) {
$args['orderby'] = 'rand';
} else {
$args['orderby'] = 'date';
if ( 'date1' == $footer_blog_post_order ) {
$args['order'] = 'DESC';
} else {
$args['order'] = 'ASC';
}
}
$the_query = new WP_Query( $args );
?>
うまく反映されないというのは、どのような結果になるのでしょうか?
その際に、Webサーバーのログなどに何かメッセージは出ていませんか?