Twitterのブートストラップクラスにコンテンツをラップする[contianer-narrow][/container-narrow]
という短いコードを作成しました。.container-narrow
問題は、ページタイトルが含まれていないことです。言う方法があります:
if this short code is used, include the page title, else forget it?
あなたの具体的な質問としては:
あなたは理論的にこの特定のショートコードが解決される前に検索されたコンテンツを解析し、フラグを設定し、それを条件にタイトルをラップすることができます。
しかし、ショートコードアプローチを捨てて、単純に 新しいページテンプレートを作成する のがはるかに理にかなっています。
(特に、ショートコードの解析、または少なくともその結果は、とにかく使用済みテンプレートファイルで行われる必要があることを考えると)
テーマのpage.php
の内容を新しいファイルにコピーします。
これをpage-narrow.php
と呼びます。
先頭に
<?php
/*
* Template Name: Narrow Page
*/
?>
そして、コピーした部分を目的のクラスを持つ要素にラップします。
私はこのようなことを試してみたい(未テスト):
function has_shortcode($ sc = ''){ グローバル$ wp_query; foreach($ wp_query-> $ postとして投稿){ if(!empty($ sc)&& stripos($ post-> post_content、 '['。$ sc)!== false){ trueを返し、 } } falseを返します。 .____。]}
それからあなたはそれをそのように使うことができます:
if(has_shortcode( 'container-narrow'){}