ページ上のショートコードのオブジェクト(または配列)を取得しようとしています。つまり、基本的に、ユーザーがページにアンカーを挿入できるショートコードがあり、ページのショートコードに基づいてメニューを動的に出力しようとしています。ユーザーがページレンダリングで入力したものを取得する方法はありますか?
1 に答える
0
投稿の一部をサイドバーに配置できるようにするために私がしたことは次のとおりです。
header.php で、情報を保持するグローバル変数を定義します。
// Initialize sidebar content.
$GLOBALS['mySidebar'] = '';
ショートコードを実装するたびに、そのグローバル変数に情報を追加する必要があります。私のショートコードは、ショートコード コンテンツの HTML を追加するだけです。ショートコードの意味をキャプチャする必要があります。
add_shortcode('sidebar', 'addToSidebar');
// Add content to the sidebar.
function addToSidebar($attributes, $content) {
$GLOBALS['mySidebar'] .= do_shortcode($content);
return '';
}
グローバル変数を使用して、ページ要素をレンダリングします。
<?php if (have_posts()) :
the_post();
// Get content first to retrieve the sidebar.
$content = get_the_content();
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content); ?>
<?php if (!empty($GLOBALS['mySidebar'])) :?>
<div id="sidebar"> <?php echo $GLOBALS['mySidebar']; ?> </div>
<?php endif; ?>
<div id="content">
... render the post.
<?php endif; ?>
于 2011-08-25T21:56:09.677 に答える