标签归档:wordpress

wordpress 使用 k8s 部署并使用 nginx ingress 代理无限 302 到 ssl 问题解决

发现容器化之后,wp 网站打开一直尝试 302 到 https 的页面,即使我当前已经是 https 了,经过排查是由于代理提供了 ssl 但 wordpress 不知道,默认会再重定向一次,出现无限 302 。

TL; DR

解决方法很简单,只需在 wp 配置文件 /wp-config.php 中增加这几行即可解决:

define( 'FORCE_SSL_ADMIN', true );
// in some setups HTTP_X_FORWARDED_PROTO might contain 
// a comma-separated list e.g. http,https
// so check for https existence
if( strpos( $_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false )
    $_SERVER['HTTPS'] = 'on';

方法来源于官网.

References

WordPress邮件通知插件Notification使用小记

Notification是wordpress上一款功能强劲的插件,可以实现wordpress各种事件的邮件通知功能,更可以根据自己的实际需求定制自己的邮件通知内容,插件提供了很多的短代码,能够很方便的协助用户完成邮件的模板创建。

在这里,简单记下几种常见通知中可以使用的段代码,方便以后使用。

【发布新文章通知(New Post Published)】

网站简码
这些短代码可用于任何通知。

网站标题:[global_site_title]
网站标语:[global_site_tagline]
网站网址:[global_site_url]
网站管理员电子邮件:[admin_email]
当前日期:[current_date]
当前时间:[current_time]

收件人用户密码
这些短代码只能用于具有“发送至”字段的通知以及在您的网站上拥有WordPress帐户的用户,即它们不适用于使用“ 发送到任意电子邮件”手动添加的电子邮件地址 – 在。

收件人用户ID:[email_user_id]
收件人用户登录:[email_user_login]
收件人用户Nicename:[email_user_nicename]
收件人用户电子邮件:[email_user_email]
收件人用户URL:[email_user_url]
收件人用户注册:[email_user_registered]
收件人显示名称:[email_user_display_name]
收件人用户名:[email_user_firstname]
收件人用户姓氏:[email_user_lastname] 收件人
昵称:[email_user_nickname]
收件人用户说明:[email_user_description]
收件人功能:[email_user_wp_capabilities]
收件人用户头像:[email_user_avatar]
收件人用户配置文件自定义字段:[email_user_custom_field field =“ X“] (仅限自定义字段附加组件
管理WP管理员配置文件中的BNFW通知订阅:[user_subscription_page](仅限订阅附加组件)

发布/页面/自定义发布类型短代码
永久链接:[ permalink ]
帖子ID:[ID]
原帖帖子作者:[post_author]
发布日期:[post_date]
发布日期(GMT):[post_date_gmt]
帖子内容:[post_content]
帖子标题:[post_title]
帖子分类:[post_category ]
帖子的第一类分类:[post_category_slug]
帖子术语:[post_term taxonomy =“TAXONOMY_NAME”]
帖子标签:[post_tag]
帖子摘录:[post_excerpt]
帖子状态:[post_status]
评论状态:[comment_status ]
Ping状态:[ping_status]
发布密码:[post_password]
帖子名称:[post_name]
要Ping:[to_ping] Pinged
:[pinged]
Post Modified:[post_modified]
修改后的(GMT):[post_modified_gmt]
过滤后的内容:[post_content_filtered]
后期父母:[post_parent]
GUID:[guid]
菜单顺序:[menu_order]
帖子类型:[post_type]
发布MIME类型:[post_mime_type]
评论数:[ comment_count]
编辑帖子链接:[edit_post]
Post Slug:[post_slug]
永久链接到帖子后:[post_parent_permalink] 链接到帖子
作者档案:[author_link]
链接到帖子类型档案:[post_type_archive]
特色图片:[featured_image]
第一张图片发布:[first_image]
自定义字段:[custom_field field =“X”] (仅限自定义字段附加组件)

用户简码
这些多用途短代码涉及触发通知的人。这很可能是帖子的作者或正在注册的用户。

用户ID:[user_id]
用户登录:[user_login]
用户角色:[user_role]
用户Nicename:[user_nicename]
用户电子邮件:[user_email]
用户URL:[user_url]
用户注册:[user_registered]
显示名称:[display_name]
用户名:[user_firstname]
用户姓氏:[user_lastname]
昵称:[昵称]
用户说明:[user_description]
功能:[wp_capabilities]
用户头像:[user_avatar]
用户配置文件自定义字段:[user_custom_field field =“X”] (自定义字段添加 -上唯一)

更多内容见Notification帮助文档:Shortcodes

WordPress评论区爆炸特效

一直羡慕别人的博客输入有这样一个特效,想自己做一个,终于在这个博客找到了解决方案,于是尝试一下成功了!

WordPress优化:给博客添加评论输入特效

第一步:下载js代码,放入网站目录某文件夹下,我放在【/www/wwwroot/blog.songtianlun.cn/wp-content/themes/hestia/mouseclink】目录下

js文件:下载

第二步:在主题目录下footer.php文件中添加如下依赖

<script src="https://blog.songtianlun.cn/wp-content/uploads/2018/10/WordpressCommentBomb/activate-power-mode.js"></script>  
<script>  
POWERMODE.colorful = true; // make power mode colorful  
POWERMODE.shake = false; // turn off shake  
document.body.addEventListener('input', POWERMODE);  
</script> 

保存,测试一下,大功告成!

WordPress鼠标指针样式自定义

继续折腾自己的博客!

今天要做的事自定义鼠标样式!需要做的是增加css样式!

第一步:选择鼠标样式,最好是两个状态,正常和链接,即普通的箭头和小手

第二步:将样式的cur文件上传至服务器

第三步:进入后台→主题→自定义→额外css

第四步:在输入框输入如下代码

/** 鼠标样式 开始**/ 
/** 普通指针样式**/ 
body {
cursor: url(https://blog.songtianlun.cn/wp-content/themes/hestia/mouseclink/normal.cur), default;
}

/** 链接指针样式**/ 
a:hover{cursor:url(https://blog.songtianlun.cn/wp-content/themes/hestia/mouseclink/link.cur), pointer;}

/** 鼠标样式 结束**/

注:根据自己的实际情况修改其中的链接部分,我使用的鼠标样式可以从中获取

第五步:发布,就可以看到效果啦!

本文参考文章:wordpress指针样式自定义——美化你的blog

更多鼠标样式下载:鼠标样式

WordPress鼠标点击出现爱心

同上文,眼馋各大博主博客令人眼前一亮的设计,想要给自己博客也打扮打扮,今天就来弄弄鼠标点击出现爱心的效果吧!

采用了代码方式实现,很简单:

第一步:在主题根目录创建js文件,写入如下代码:

(function(window,document,undefined){
var hearts = [];
window.requestAnimationFrame = (function(){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function (callback){
setTimeout(callback,1000/60);
}
})();
init();
function init(){
css(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: absolute;}.heart:after{top: -5px;}.heart:before{left: -5px;}");
attachEvent();
gameloop();
}
function gameloop(){
for(var i=0;i<hearts.length;i++){
if(hearts[i].alpha <=0){
document.body.removeChild(hearts[i].el);
hearts.splice(i,1);
continue;
}
hearts[i].y--;
hearts[i].scale += 0.004;
hearts[i].alpha -= 0.013;
hearts[i].el.style.cssText = "left:"+hearts[i].x+"px;top:"+hearts[i].y+"px;opacity:"+hearts[i].alpha+";transform:scale("+hearts[i].scale+","+hearts[i].scale+") rotate(45deg);background:"+hearts[i].color;
}
requestAnimationFrame(gameloop);
}
function attachEvent(){
var old = typeof window.onclick==="function" && window.onclick;
window.onclick = function(event){
old && old();
createHeart(event);
}
}
function createHeart(event){
var d = document.createElement("div");
d.className = "heart";
hearts.push({
el : d,
x : event.clientX - 5,
y : event.clientY - 5,
scale : 1,
alpha : 1,
color : randomColor()
});
document.body.appendChild(d);
}
function css(css){
var style = document.createElement("style");
style.type="text/css";
try{
style.appendChild(document.createTextNode(css));
}catch(ex){
style.styleSheet.cssText = css;
}
document.getElementsByTagName('head')[0].appendChild(style);
}
function randomColor(){
return "rgb("+(~~(Math.random()*255))+","+(~~(Math.random()*255))+","+(~~(Math.random()*255))+")";
}
})(window,document);

第二步:修改主题目录下footer.php文件,引入代码

<script type="text/javascript" src="https://***/wp-content/themes/hestia/mouseclink/clink.js"></script>

第三步:清缓存,刷新!

本文参考了下列博文内容:

鼠标点击出现爱心js特效代码分享

WordPress 添加下雪特效

最近非常热衷于逛博客,各大博主博客都非常出彩,弄得我心里面痒痒的也想弄,就先从一个下雪效果开始吧!

在网上找了很多资料,最后找到一个非常靠谱的,步骤非常简单!

第一步:将snow上传至主题根目录并解压

第二步:修改其中js文件指定雪花的地址

第三步:编辑主题中的footer.php文件,添加以下代码引用效果

<script type="text/javascript" src="<?php bloginfo('template_url');?>/snow/snow.js"></script>

第四步:清清缓存!

效果可以看本页!

sonw文件在这里下载:点击下载

在本页资源分享站中也可找到:https://data.songtianlun.cn

差点忘记一个非常重要的事情,

参考文章: wordpress 添加下雪特效

WordPress自动推送新文章收录百度

百度站长工具提供了很多种页面收录方式,在百度资源搜索平台提供了多种提交方式,比如自动提交,手动提交,以及sitemap。

百度资源搜索平台:https://ziyuan.baidu.com/

在这里介绍两种方式,一种是使用代码的方式,一种是使用插件,不知道是否能成功,如果大家能在百度搜索到这篇文章,自然代表着成功啦!

先说第一种,代码!

在主题function.php文件中插入如下代码:

//文章发布自动推送
if(!function_exists('Baidu_Submit')){ 
  function Baidu_Submit($post_ID) { 
    $WEB_TOKEN = 'token值'; //这里请换成你的网站的百度主动推送的token值 
    $WEB_DOMAIN = get_option('home'); //已成功推送的文章不再推送 
    if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return; 
    $url = get_permalink($post_ID); 
    $api = 'http://data.zz.baidu.com/urls?site='.$WEB_DOMAIN.'&token='.$WEB_TOKEN; 
    $request = new WP_Http; $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') ); 
    $result = json_decode($result['body'],true); //如果推送成功则在文章新增自定义栏目Baidusubmit,值为1 
    if (array_key_exists('success',$result)) { add_post_meta($post_ID, 'Baidusubmit', 1, true); 
                                             } } add_action('publish_post', 'Baidu_Submit', 0); 
}

即可在文章发布后自动推送百度,在百度资源可以看到推送结果。

第二种,插件!

在wordpress插件搜索BaiduXZH Submit,安装即可!

声明

第一种方式来源页:免插件实现WordPress主动推送文章到百度

第二种插件官网:爱上极客

希望能成功!

WordPress检测文章手否被百度收录

开通博客后就痴迷于让更多的人看到自己的博客,在百度搜索资源提交链接,又配置了文章自动提交百度的代码,还是想知道文章是否被百度收录,于是找到了下面这篇文章:

WordPress百度是否已收录查询插件WP-Baidu-Record

文章提供了一种方式,不需要安装插件就可以实现文章是否提交百度的检测及显示,一步搞定!

在主题function.php文件中插入如下代码即可:

/*
Plugin Name: Baidu-Accept
Plugin URI: http://www.d4v.com.cn
Description: 判断当前文章是否被百度收录,若没有被收录则可点击提交至百度,加速收录!(此插件在文章页面仅管理员可见) 
Version: 1.0
Author: Jovae
Author URI: http://www.d4v.com.cn
License: GPL
*/
function d4v($url){
    $url='http://www.baidu.com/s?wd='.$url;
    $curl=curl_init();
    curl_setopt($curl,CURLOPT_URL,$url);
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
    $rs=curl_exec($curl);
    curl_close($curl);
    if(!strpos($rs,'没有找到')){
        return 1;
    }else{
        return 0;
    }
}
add_filter( 'the_content',  'baidu_submit' );
function baidu_submit( $content ) {
    if( is_single() && current_user_can( 'manage_options') )
        if(d4v(get_permalink()) == 1)
            $content="<p align=right>百度已收录(仅管理员可见)</p>".$content;
        else
            $content="<p align=right><b><a style=color:red target=_blank href=http://zhanzhang.baidu.com/sitesubmit/index?sitename=".get_permalink().">百度未收录!点击此处提交</a></b>(仅管理员可见)</p>".$content;
        return $content;
    }

之后就可以查看文章是否被收录了!

文章核心内容来源:http://www.1mayi.com/9655.html