0

私の質問: Wordpressのページのタイトルに訪問者のIPアドレスを表示する方法はありますか?私がこれまでに行ったことはこれです:私のIPルックアップ

私ができるプラグインや微調整はありますか?

これがファイルです:Header.php

助けてください!!

4

4 に答える 4

1

header.phpテーマでファイルを編集します。ここでタグが生成されます。wp-content / themes / alyeska-child / header.phpであるか、存在しない場合はwp-content / themes / alyeska/header.phpである必要があります。

header.phpタイトル(または、わからない場合はファイル)を生成しているコードを投稿すると、具体的にどこに追加するかを教えてくれます。

IP情報がショートコードを介して生成されている場合は、PHPで使用do_shortcode('[shortcode])して、PHPで直接ショートコードを実行できます。

1ページだけでこれを実行したい場合は、正しいページを検出し、タイトルへの変更を条件付けする必要があります。必要なページのページ識別子を知っている必要がありますが、次のようなものを使用します。

<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>

is_pageの詳細:http://codex.wordpress.org/Function_Reference/is_page

于 2012-04-25T14:55:22.580 に答える
1

フィルタフックを使用してタイトルを変更する方法は次のとおりです。

これをテーマ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

于 2012-04-25T15:02:04.113 に答える
1

私はテーマとそのフレームワークの作者です。マシューから提供されたコードを少し変更します。テーマとフレームワークの将来の更新については、子テーマで実際にheader.phpを編集することを避け、代わりにフレームワークのフックシステムを利用することをお勧めします。

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

themeblvd_titleは、フレームワークのアクションの1つです。すでにデフォルトの機能がフックされており、現在のようにタイトルが表示されます。デフォルトの関数を実際に変更するのではなく、アクションに追加するだけなので、やりたいことはかなり簡単です。

アクションフックの概念が一般的に完全に異質な場合は、この記事を必ずチェックしてください-www.wpjumpstart.com/tutorial/actions/-これらの基本的なWordPress開発の概念を理解することで、実際に目的を拡張できます。カスタマイズを進めることができます。

したがって、Mathewが言ったことを達成するには、Childテーマの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' );

ここでも注意すべき大きなことが1つあります。あなたのサイトで、Alyeska2.0を使用していることに気づきました。フレームワークのv2.1を組み込んだThemeForestに先週投稿された最新バージョンのAlyeska2.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
于 2012-05-12T19:13:10.103 に答える
0

他のいくつかの回答に追加して、それらのIPアドレスを取得するには、サーバー環境によって少し異なる場合があります。test.phpというファイルを作成し、Webでアクセス可能な場所に配置するだけです。

<?php

echo phpinfo();

?>

次に、ユーザーのIPアドレスを取得できる場所を探します。PHPがリバースプロキシで実行されている場合、残念ながら、通常の場所にはローカルホストのIPがあります。しかし、IPを取得できる環境変数は他にもたくさんあります。確認する場所は次のとおりです。

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

次に、実際のIPアドレスが表示された場合(情報ページに表示されているアドレスをwhatismyip.comから取得できるアドレスと比較します)、PHPの事前定義変数の1つを使用してdrew010によって上記の関数でその値にアクセスできます。

于 2012-04-25T15:16:42.403 に答える