WordPress教程:wordpress如何在后台添加用户时添加自定义字段,下面模板兔给出相关代码:
function userMetaBirthdayForm(WP_User $user) {
?>
<h2>Birthday</h2>
<table class="form-table">
<tr>
<th><label for="user_birthday">Birthday</label></th>
<td>
<input
type="date"
value="<?php echo esc_attr(get_user_meta($user->ID, 'birthday', true)); ?>"
name="user_birthday"
id="user_birthday"
>
<span class="description">Some description to the input</span>
</td>
</tr>
</table>
<?php
}
add_action('sho...
WordPress教程:最近模板兔有个客户在使用erphpdown插件里面的paypal功能时遇到如上问题,排除了防火墙拦截的因素。我在查看网站日志时发现有一条回调请求是
/wp-content/plugins/erphpdown/payment/paypal.php?currencyCodeType=USD&paymentType=Sale&token=*******&PayerID=*****
从上面路径可以看出链接的&符号被服务器转义成了&导致网站没有获取到这个回调请求的参数,那么如何处理呢?
这种情况可能是服务器为了防止XSS攻击,自动htmlspecialchars进行转义了,如果我们不换服务器,那么只能通过PHP来处理下。部分处理部分的代码如下:
$ice_payapl_api_rmb = get_option('ice_payapl_api_rmb')?get_optio...
WordPress教程:我们使用wordpress建站,如果不设置伪静态链接的话网站就只能使用动态链接的形式,这对网站SEO优化不太好,而且很容易出现404错误。接下来模板兔就给大家介绍一下虚拟主机网站伪静态链接的设置:
虚拟主机是使用【.htaccess】这个文件(网站根目录下,阿里云虚拟主机也就是htdocs文件夹下)来设置伪静态的,我们可以把对应的伪静态代码添加到这个文件中就可以了。
当然,也可以登录阿里云虚拟主机后台,在 高级环境设置-NGINX设置 中,插入一段内容:
location / {
try_files $uri $uri/ /index.php?$args;
}
然后保存即可。
WordPress教程:我们可以通过读取HTTP_USER_AGENT来判断请求,从而做到屏蔽页面抓取。
国内一些蜘蛛的UA:
$spiders = array(
'Googlebot',
'Baiduspider',
"Sogou web spider",
"360Spider",
"YisouSpider",
"Sosospider",
"YoudaoBot",
'Yahoo! Slurp',
'EasouSpider',
'bingbot'
);
模板兔给出大致的代码供参考:
$ua = $_SERVER['HTTP_USER_AGENT'];
//将恶意USER_AGENT存入数组
$now_ua = array('FeedDemon ','BOT/0.1 (BOT for JCE)','CrawlDaddy ','Java','Feedly','UniversalFeedParser','ApacheBench','Swiftbot','ZmEu','Indy Library','oBot','jaunty','YandexBot','AhrefsBot','MJ12bot','WinHttp','EasouSpider','Ht...
WordPress教程:首先,进https://dashboard.stripe.com/webhooks 添加一个托管端点,侦听事件是charge.succeeded。
下图的密钥签名就是你需要填在erphpdown接口处的【回调密钥签名】。
注意stripe接口一个站对应一个webhook回调地址,所以你如果有多个站,需要弄多个stripe接口才行。
WordPress教程:开始之前,让我们来看一下一些初级开发者常犯的错误。
// 错误示例1
function wpkj_loading_scripts_wrong() {
echo '<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>';
}
add_action('admin_head', 'wpkj_loading_scripts_wrong');
// 错误示例2
function wpkj_loading_scripts_wrong() {
echo '<script type="text/javascript" src="https://yoursite.com/path/to/custom.js"></script>';
}
add_action('admin_head', 'wpkj_loading_scripts_wrong');
// 错误示例3
function wpkj_loading_scripts_wrong_again() {
wp_enqueue_s...
WordPress教程:我们在通过wp发布文章时经常会复制别处的文章,文章里通常也带有图片,那么如何把图片粘贴过来的时候自动本地化上传到媒体库呢?
因为模板兔最近在给一个客户开发一个自动本地化+自动水印+自动FTP上传到另一台服务器的功能,所以在这里给大家说明一下。
/**
* 钩子函数:将post_content中本站服务器域名外的img上传至服务器并替换url
*
* @param Int $post_id
* @param Object $post
*
*/
function ecp_save_post($post_id, $post) {
// wordpress 全局变量 wpdb类
global $wpdb;
// 只有在点击发布/更新时才执行以下动作
if($post->post_status == 'publish') {
// 匹配<img>、src,存入$matches数组,
$p = '/<...
WordPress教程:我们的modown主题里有通知功能,那么如何实现删除待审文章时附上不通过的理由并通知投稿作者呢?
下面模板兔附上一个简单的代码供参考:
add_action( 'post_submitbox_misc_actions', 'modown_delete_notice_metabox' );
function modown_delete_notice_metabox(){
global $post;
echo '<div class="misc-pub-section"><a href="javascript:;" class="submitdelete modown-delete-notice" data-id="'.$post->ID.'">移动至回收站并通知作者</a></div>
<script>
jQuery(".modown-delete-notice").click(function(){
var ret = prompt("删除理由", "");
if(ret !== null && ret != "") {
...
WordPress教程:偶尔有用户会向模板兔反馈说通过erphpdown插件使用支付宝当面付接口,支付后网站却没有到账也没有订单。这里我们给出几点可能的原因供大家排查:
1、网站服务器/主机有防火墙。比如你使用的是宝塔面板,然后安装了防火墙软件,那么防火墙可能会把支付宝的回调通知给拦截,可以通过添加支付宝官方回调通知的IP白名单
2、域名解析套了CDN,那么你需要在CDN那边也添加上面的白名单
3、服务器/主机本身自带防火墙,比如有些国外的主机例如siteground等是自带了防火墙,需要在主机面板里关闭或者添加白名单
4、网站装有缓存(页面缓存、数据库缓存)、安全插件,可以尝试停用试试
5、支付宝开放平台里的接口获取处设置了授权回...
WordPress教程:Modown主题的底部小工具,底部搜索 示例代码:
<p>承接WordPress等系统建站仿站、二次开发、主题插件定制等!!</p>
<ul>
<li><a href="#" rel="nofollow">提交工单</a> </li>
<li><a href="#" target="_blank" rel="nofollow">联系客服</a> (说明需求,勿问在否) </li>
<li><a href="https://www.mobantu.com/go/qqun" target="_blank" rel="nofollow">加入QQ一群</a>(验证: mobantu)</li>
<li><a href="https://www.mobantu.com/go/qqun2" target="_blank" rel="nofollow">加入QQ二群</a>(验证: mobantu)</li&g...
WordPress教程:Modown主题的底部小工具,底部LOGO 代码示例:
<p>底部小工具可设置显示4列或者5列,底部小工具可设置显示4列或者5列,底部小工具可设置显示4列或者5列。</p>
<p style="margin-top:15px;">
<a href="https://www.mobantu.com/about">关于我们</a>
<a href="https://www.mobantu.com/disclaimer">免责申明</a>
<a href="https://www.mobantu.com/contact">联系我们</a>
</p>
可自行更改文字与链接,一个a标签就是一个超链接
WordPress教程:Modown主题的底部小工具,底部文本 示例代码:
<ul>
<li><a href="https://www.mobantu.com/about">关于我们</a></li>
<li><a href="https://www.mobantu.com/disclaimer">免责申明</a></li>
<li><a href="https://www.mobantu.com/privacy">关于隐私</a></li>
<li><a href="https://www.mobantu.com/contact">联系我们</a></li>
<li><a href="https://www.mobantu.com/advertisement">广告合作</a></li>
<li><a href="https://www.mobantu.com/customized-services">wordpress开发</...
WordPress教程:Modown主题设置里的移动端自定义导航代码示例,一行一个a标签,a标签里的href的值就是跳转链接
<a href="#"><i class="icon icon-home"></i><span>首页</span></a>
<a href="#"><i class="icon icon-find"></i><span>发现</span></a>
<a href="#"><i class="icon icon-crown"></i><span>VIP</span></a>
<a href="#"><i class="icon icon-qq"></i><span>客服</span></a>
需要购买modown主题的请点击https://www.mobantu.com/7191.html
WordPress教程:最近模板兔在一次开发中遇到一个问题,那就是通过查询mysql比较字符串大小时无效,很奇怪的是明明20小于105,却会判断成真。
select post_id from $wpdb->postmeta where meta_key='down_price_limit' AND meta_value > '".$totalchong."'
其中meta_value有篇文章是20,$totalchong是105,居然查询出来了,这显然是不对的,那么问题出在哪呢?
可能是比较的字符串格式类型不正确导致的,所以我把语句改成了这样。
select post_id from $wpdb->postmeta where meta_key='down_price_limit' AND meta_value+0 > '".$totalchong."'
meta_value后面+0就可以强制转成数字类型,再进行比较即可。
WordPress教程:现在https已经是趋势了,如果你的站还是http那你就out了,一般大厂都有免费的SSL单域名证书,建议大家网站都使用SSL,相对安全些还可以有效防住域名被劫持。
那么问题来了,有的网站从http换到https后,wp后台打不开了,怎么办呢?这个时候模板兔建议大家是先不要开启强制SSL,然后通过http进后台,把【设置-常规】里的两个URL都改成https,再重新登录后看是否正常,待一切正常了再开启强制SSL。
其实,模板兔还遇到过一种情况就是从Http换成https后前台样式错乱了,就算后台设置的是https的URL,前台加载的css地址依旧是http,这样就很费解,不过可以通过插件来解决,好像有个插件叫 really simple ssl或者wp force ssl。