0

我的问题:有没有办法在 Wordpress 的页面标题中显示访问者的 IP 地址?到目前为止,我所做的是:My IP Lookup

有没有我可以做的插件或调整?

这是文件:Header.php

请帮忙!!

4

4 回答 4

1

header.php在您的主题中编辑您的文件。那就是生成标签的地方。它应该是 wp-content/themes/alyeska-child/header.php 或者如果它不存在 wp-content/themes/alyeska/header.php。

如果您发布生成标题的代码(或您的header.php文件,如果您不知道),我们可以告诉您具体添加它的位置。

如果 IP 信息是通过简码生成的,您可以do_shortcode('[shortcode])在 PHP 中使用 PHP 直接运行简码。

如果您只想在一页上执行此操作,则必须检测正确的页面并条件化对标题的更改。您需要知道所需页面的页面标识符,但您会使用以下内容:

<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

我是主题及其框架的作者。我只是要稍微修改一下 Matthew 给你的代码。对于主题和框架的未来更新,最好避免在Child 主题中实际编辑 header.php ,而是使用框架的钩子系统:

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

themeblvd_title 是框架的动作之一。它已经连接了一个默认功能,以您现在看到的方式显示标题。您想要做的事情相当简单,因为您实际上并没有修改该默认功能,而只是添加到操作中。

如果动作钩子的概念对你来说完全陌生,一定要看看这篇文章——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' );

这里还有一件大事要注意。我注意到在您的网站上,您使用的是 Alyeska 2.0。您应该更新到上周在 ThemeForest 上发布的最新版本 Alyeska 2.1,其中包含框架的 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
于 2012-05-12T19:13:10.103 回答
1

以下是如何使用过滤器挂钩来修改标题。

将此添加到主题 functions.php 文件或您自己的插件之一中:

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 回答
0

要添加到其他一些答案,要获取他们的 IP 地址,它可能会根据您的服务器环境而有所不同。只需创建一个名为 test.php 的文件并将其放在 Web 可访问的位置:

<?php

echo phpinfo();

?>

然后,寻找可以检索用户 IP 地址的地方。如果你的 PHP 在反向代理中运行,不幸的是,正常的地方只有 localhost 的 IP。但是还有很多其他环境变量可以从中获取 IP。以下是要检查的地方:

“Apache 环境”或“HTTP 头信息”或“PHP 变量”部分。

然后,如果您看到真实的 IP 地址(将信息页面上显示的地址与您可能从 whatismyip.com 获得的地址进行比较),那么您可以使用 PHP 的预定义变量之一在上述 draw010 描述的函数中访问该值。

于 2012-04-25T15:16:42.403 回答