2012-04-25 11 views

答えて

1

私はテーマとそのフレームワークの著者です。 Matthewがあなたに少しだけ教えてくれたコードを修正するつもりです。テーマとフレームワークの今後の更新については、ヘッダーを実際に編集するのを避けることができれば良いです。あなたのChild themeでPHPが、その代わりに、フレームワークのフックシステムを利用:

http://www.wpjumpstart.com/tutorial/primary-framework-action-hooks/

themeblvd_titleは、フレームワークのアクションのいずれかです。それはすでにそれに夢中になった既定の機能を持っています。そのデフォルト機能を実際に変更しているわけではなく、アクションに追加するだけで、あなたがやりたいことはかなり簡単です。

一般的には、アクションフックの概念は、この記事をチェックアウトは間違いなく、あなたに完全に外国人である場合 - www.wpjumpstart.com/tutorial/actions/ - これらの基本的なWordPressの開発コンセプトを理解するには、実際に拡大する予定ですあなたのカスタマイズで前進することができるもの。

だから、あなたの子供のテーマのfunctions.phpから次の操作を行いたい、マシューが言ったことを達成するために:だけでなく、ここで注意することも一つの大きなものがあります

function my_title_addon() { 
    if (is_page(10)) { //Check if we are on the correct page 
     echo '|'; //Just a spacer between the default title and your addition 
     do_shortcode('[shortcode]'); 
    } 
} 
add_action('themeblvd_title', 'my_title_addon'); 

。私はあなたのサイトに気付きました、あなたはAlyeska 2.0を使用しています。先週、Alyeska 2.1の最新バージョンに更新する必要があります。ThemeForestにはフレームワークのv2.1が組み込まれています。あなたは、この新しい子テーマの構造を使用しない場合、私は掲示上記のコードが追加されますvimeo.com/41331677

- インサイドこのビデオで概説したように、わずかに変更された構造を組み込んだ新しいサンプル子テーマでありますあなたのIPショートコードは、のthemeblvd_titleから始まります。これはあなたが望むものではありません。あなたの現在のテーマのバージョンと子テーマの構造を維持することを選択した場合は、上記のadd_actionニーズは、このようなデフォルトの10よりも高い優先度を持っている:

function my_title_addon() { 
    if (is_page(10)) { //Check if we are on the correct page 
     echo '|'; //Just a spacer between the default title and your addition 
     do_shortcode('[shortcode]'); 
    } 
} 
add_action('themeblvd_title', 'my_title_addon', 11); // Higher priority so it comes after default title function 
1

は、あなたのテーマであなたのheader.phpファイルを編集します。そこにタグが生成されます。これは、WP-コンテンツ/テーマ/アリエスカ-子/ header.phpのあるべきか、それはそこのwp-コンテンツ/テーマ/アリエスカ/ header.phpのではない場合。

タイトルを生成しているコード(通知できない場合はheader.phpファイル)を投稿すると、具体的にどこに追加するのかがわかります。 IP情報がショートを介して生成された場合

、あなたはPHPと直接ショートを実行するために、あなたのPHPでdo_shortcode('[shortcode])を使用することができます。

これを1ページだけで実行したい場合は、正しいページを検出してタイトルの変更を条件付けする必要があります。あなたがしたいページのページidentifyerを知っておく必要がありますが、あなたは次のようなものを使用します。http://codex.wordpress.org/Function_Reference/is_pageここ

+0

事は、私はショートにしてプラグインを使用しています、ですユーザーの詳細を生成し、私はショートコードはPHPで動作しているか分からない!! :D –

+0

ショートコードの詳細が追加されました。 'do_shortcode( '[shortcode])' –

+0

ありがとうございました! –

1

はあなたがタイトルを変更するためにフィルターフックを使用する方法である。is_page上

<title> 
<?php 
    themeblvd_title(); 
    if (is_page(10)) { //Check if we are on the correct page 
     echo '|'; //Just a spacer between the default title and your addtion 
     do_shortcode('[shortcode]'); 
    } 
?> 
</title> 

詳しい情報。

テーマのfunctions.phpファイルでこれを追加したり、独自のプラグインの1:

add_filter('wp_title', 'add_ip_to_title', 10, 3); 

function add_ip_to_title($title, $sep = '', $location = '') { 
    return $title . $sep . "visitor IP info here"; 
} 

https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_title

+0

が最適です。これは、DOMとサーバーサイドコードの分離を維持する最も近い方法です。 – gorelative

+0

wp_titleがtitleを生成するためにheader.phpで使用されていた場合(これはおそらく)、これは副次的なものです。 –

+0

「訪問者のIP情報はここに入れる」とは何ですか?ショートコードが動作しないためです! –

0

は、他の答えの一部に追加するには、そのIPアドレスを取得するには、それは変えることができますあなたのサーバー環境に少し依存します。ただ、test.phpをというファイルを作成し、ウェブアクセス可能な場所にそれを置く:次に

<?php 

echo phpinfo(); 

?> 

、ユーザーのIPアドレスを取得することができる場所を探してください。あなたのPHPは、リバースプロキシで実行されている場合は、残念ながら、通常の場所はちょうどのにIPをlocalhostにしているでしょう。しかし、IPをつかむことができる他の多くの環境変数があります。確認する場所は次のとおりです。

「Apache環境」または「HTTPヘッダー情報」または「PHP変数」セクションの下にあります。

実際のIPアドレスが表示された場合(infoページに表示されているアドレスとwhatismyip.comのアドレスを比較してください)、上記の関数の値にdrew010でPHPのpredefined variables

関連する問題