2012-03-10 51 views
0

divナビゲーションバーのすぐ下に配置したいとします。 divの幅はwordpressテーマの幅と同じでなければなりません。この部分は投稿の上に表示され、サイドバーのようになります。ナビゲーションバーの下にある広告は配置されます。wordpressのヘッダー/ナビゲーションバーの下にdivを配置する方法は?

私はget_headerloop_startを試しました。 get_headerは、サイト名が印刷される前でも、divを先頭に配置します。 loop_startと重複して表示されますが、のサイドバーと表示されます。

テーマに依存しないワードプレスapi(タグ)はこれを達成するために利用できますか?

私はテーマファイルを編集できると知っていますが、これは私がインストールしたすべてのテーマを編集することを意味します。だから私はそれをしたくない。

マルチサイトインストールでこれを実行します。

答えて

0

...

機能get_header()が定義されていますwp-includes/general-template.phpにあります。この関数定義の終わりに
echo '<div> My content </div>';や彼answerで言及@IanB<?php include 'div_template.php'; ?>ように配置
は私の問題を解決しました。この機能を変更する

利点欠点を持っている...利点get_headers()テーマ独立しており、不利がということですので、一人ひとりのテーマはこれをacheiveするために微調整する必要がないことですこの変更は、wordpressが新しいバージョンに更新されたときに削除されます。それでも

すべての返信に感謝...

平和...

1

、あなたのdivのhtml情報を持つファイルを作成しますdiv_template.phpとして保存し、あなたのテーマファイルにFTP経由でアップロード...ありがとうございます。

はその後、ナビゲーションバーコードの下にこのコードを置く:あなたはそれを置きたい場所に

<?php include('div_template.php'); ?> 

これは、動的にdiv要素のHTMLコードを追加します。

試してみてください!

+0

私は、これは確かに働くだろう知っている...しかし、私はテーマファイルを編集する必要はありません...マルチサイトのために、私はすべてのテーマのインストールのためにこれを行う必要があります...これはなぜ私はプラグインを開発しようとしていた...私はテーマの独立したソリューションが欲しい... –

2

あなたのようadd_action(loop_start,smtg)またはadd_action(loop_end,smtg)またはapply_filters('the_content', $content);

を使用することができます。

<?php 
$content = apply_filters('the_content', $content); 
$content = do_your_stuff; 
?> 

それは本当にあなたが何をしたいかに依存して... は、ここに詳細を参照してください。http://codex.wordpress.org/Plugin_API/Action_Reference

すべて」あなたが本当にそうしたいと思えば - あなたはいつもREGEXをconに使うことができます10トン...

または別の方法 - 例えば:

function k99_replace_content(){ 

//get the content 
$content= get_the_content(); //get the content as a variable 

// where we want to cut ?? 
// by length ?? 
$full_length= STRLEN($content); 
$cutting_point = ($full_length/ 2); 
// regex ?? 
//do regex stuff here .. 

// clip off the first part - if we choose by length 
$firstpart = SUBSTR($content, 0, $cutting_point); 

// ending '<br>' 
$end_point = STRRPOS($firstpart, '<br>'); 

// add whatever 

return SUBSTR($content, 0, $end_point) . "<div>put whatever you want>/div>" . SUBSTR($content, $end_point); 
} 

ADD_FILTER( 'the_content'、 'k99_replace_content');

または最後のオプション、@IanBは、これらの方法のいずれかと一緒に提案したものを使用 - とフィルターを通して含ま..自分の質問に答える

関連する問題