第一次体会到了ChatGPT厉害!

这个星期在Autumn Pro微信群里谈到了外链跳转页面,为了安全和SEO就下载了wpjam-external-links插件,并上传到了博客里。

设置还挺方便在wordpress后台的WPJAM的链接设置,就可以开启外链跳转页面。

可以在文章,评论里识别外链,并点击外链时跳转到外链跳转页面。

效果如下图

不过这个插件还是有问题的,并不是十分完善。

  • 如果外链设置了在新窗口打开,点击外链是直接跳转的目标网站,并没有经过外链跳转页面。
  • 少了个返回主页的按键,用户只能点击继续访问,而不能返回博客
  • 上面的图片的继续访问按键是没有颜色加深
  • 点击插件有时候会报非法请求
  • 想在外链跳转页面添加谷歌广告

而我自己能力有限,并不知道怎么修改。然后我就试了下chatgpt。

把相关代码输入,然后提出想要的结果。

当代码出来,运行惊呆了,符合我的预期。真的是太厉害了。先给出chatgpt修改后的效果。

厉不厉害,添加了返回主页的按键,然后继续访问按键背景加深,添加谷歌广告。

下面给出部分chatpgt给的结果(答案)

1、第一次把全部代码输入

我的提问:输入全部完整的代码

ChatGpt:

这段代码看起来是一个 WordPress 插件或主题中的 PHP 代码,用于处理外部链接的设置和跳转。它似乎是使用 WPJAM 插件开发的,用于管理外部链接的行为。以下是对代码的主要功能的解释:

  1. 定义了一个名为 WPJAM_External_Links_Setting 的 PHP 类,用于处理外部链接的设置和跳转。
  2. get_fields 方法定义了外部链接设置的字段和选项,包括文章中的外部链接的设置、评论中的外部链接设置、以及例外情况。这些字段将在后台管理界面上用于配置插件的行为。
  3. get_menu_page 方法定义了在 WordPress 后台管理中的菜单选项,以便用户可以访问和配置外部链接的设置。
  4. is_exception 方法用于检查给定的链接是否是例外情况,如果链接包含在例外列表中,将不会进行跳转处理。
  5. add_redirect_query_arg 方法用于在文章内容中查找外部链接,并根据设置添加 rel 属性、target 属性以及跳转链接,以确保外部链接的跳转和安全性。
  6. filter_content 方法用于过滤文章内容,以添加跳转链接。
  7. filter_comment_textfilter_comment_author_link 方法用于过滤评论内容和评论作者链接,以添加跳转链接。
  8. filter_robots_txt 方法用于生成 robots.txt 文件,以阻止搜索引擎抓取跳转链接。
  9. init 方法用于初始化插件,在此方法中根据设置添加相应的过滤器来处理外部链接。
  10. 最后,通过 wpjam_register_option 注册了一个名为 'wpjam-external-links' 的选项,这个选项将与插件的设置相关联。

总之,这段代码主要是一个用于处理外部链接设置和跳转的 WordPress 插件或主题的代码,它通过在文章内容、评论以及评论作者链接中添加跳转链接来管理外部链接的行为,并且可以根据设置排除某些链接不进行跳转处理。

2、然后提问添加返回主页的要求

我的提问:添加返回主页的按键

ChatGpt:如果你想在 "非法请求" 错误页面上添加一个返回主页的按钮,你可以在 $message 变量中添加相应的 HTML 代码。以下是如何在代码中添加返回主页的按钮:

public static function init() {
    $redirect = wpjam_get_parameter('redirect');

    if ($redirect) {
        error_log('Debug: ' . print_r($redirect, true));

        $blog_name = get_bloginfo('title');
        $message = '<h1>即将离开「' . $blog_name . '」';
        $message .= '<p style="font-weight:initial;">您即将离开「' . $blog_name . '」,请注意您的帐号和财产安全。</p>';
        $message .= '<p style="font-weight:initial;">' . $redirect . '</p>';

        // 添加返回主页的按钮
        $message .= '<p style="height:30px;"><a style="height:30px; float:right;" class="button button-large" href="' . esc_url(home_url()) . '">返回主页</a></p>';

        wp_die($message, $blog_name . ' - 安全中心', 302);
    } else {
        if (self::get_setting('content')) {
            add_filter('the_content', [self::class, 'filter_content']);
        }

        if (self::get_setting('comment')) {
            add_filter('comment_text', [self::class, 'filter_comment_text'], 10, 2);
            add_filter('get_comment_author_link', [self::class, 'filter_comment_author_link'], 10, 2);
        }

        add_filter('robots_txt', [self::class, 'filter_robots_txt'], 999, 2);
    }
}

上述代码在 $message 变量中添加了一个返回主页的按钮。这个按钮链接到网站的主页(使用 home_url() 函数)。当用户访问非法请求时,他们将看到一个 "返回主页" 的按钮,以便他们可以回到网站的主页。

确保你的修改已保存,并清除缓存以查看效果。这将允许用户返回主页,以改善用户体验。

3、添加谷歌广告

我的提问:在广告的地方提示这是谷歌广告

ChatGpt:要在广告的位置添加提示,说明这是 Google 广告,你可以在广告代码周围添加自定义 HTML 标记。下面是一个示例,如何将提示添加到广告的顶部:

// ...

// 添加 Google AdSense 广告
$ad_code = '<div class="google-adsense-ad">'; // 使用自定义类名
$ad_code .= '<p style="font-size: 14px; color: #777; margin-bottom: 10px;">这是 Google 广告</p>'; // 添加提示
$ad_code .= '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3359266734998614" crossorigin="anonymous"></script>';
$ad_code .= '<!-- 添加你的广告标识 -->';  // 替换为你的广告代码
$ad_code .= '<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-3359266734998614" data-ad-slot="1817985332" data-ad-format="auto" data-full-width-responsive="true"></ins>';
$ad_code .= '<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>';
$ad_code .= '</div>';

$message .= $ad_code;

// ...

上述示例在广告的顶部添加了一个提示,说明这是 Google 广告。你可以根据需要自定义提示的样式和文本。



知识共享许可协议本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。

相关推荐

暂无评论

目录展开