WEB主题公园
WordPress原创主题,高端网站模板建站,网站模板建站资源以及开发知识分享,尽在WEB主题公园
WEB主题公园致力于开发适合中国人习惯的中文WordPress网站模板,并提供全程视频教程,让您能够轻松的使用网站模板建立好自己的网站!
购物盒子WordPress支付插件参考技术文档
如果你是一个开发者,或者自己懂一些前端编程知识,那么你可以自己修改你的主题进行支持!
1.常见问题
安装完成之后 登录页面如果出现如下错误:
Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\wordpress3\wp-includes\nav-menu-template.php:422) inD:\xampp\htdocs\wordpress3\wp-content\plugins\shoppingbox\login.php on line 14
这是由于php函数 header 在执行之前不能有任何echo的动作,一般出现这个警告是因为你的主题输出了菜单,也就是wp_nav_menu函数,一般这个函数在主题的 header .php中 你找到这个函数 前面加上ob_start(); 即可
如下代码所示
<?php ob_start(); wp_nav_menu(array( 'theme_location' => 'header-menu','menu_class'=> 'menu_nav' ) ); ?>
这样就能够避免出现错误了。
注意,如果你加上了这段代码或者找不到header.php中有wp_nav_menu函数,还是报错的话,你可以尝试在functions.php文件中<?php 之后加入ob_start(); 即可解决
登录注册点击无效果,或者提示一些没有逻辑的错误信息。
如果你建立好了登录注册,点击输入完整的用户名和密码,但什么都不显示也不报错,或者提示密码需要6位数等一些不符合逻辑的报错信息,请查看你的服务器php版本,服务器php版本必须为php5.3以上版本,否则注册登录会无法使用(点击注册登录无反应、不跳转),现在出现较多的问题的服务器主要是万网的虚拟主机,万网的虚拟主机默认安装的是php5.2版本,如果你是使用这个版本的php那么请去你的服务器高级环境设置中,将php版本设为5.3或者更高:

购物盒子在前期规划中出现了一个小的疏忽,那就是快递单号在数据库中的长度只有10,所以在使用时出现了快递单号超过10位数就显示不全的bug,在这里我们深感歉意。
由于这个字符长度无法使用程序修改,为了不影响之前的客户订单数据,只能从phpmyadmin中手动修改一下,这里也给出了解决的办法:http://www.themepark.com.cn/gwhzkddhwfcg10wsdxg.html
如果你的订单没有客户的订单,而是测试用的,可以升级插件到1.32,直接删除wp_wp-alipay这个数据库表,然后停用插件并在次启用插件,即可创建一个新的表,1.32的版本创建的新表格已经修复了快递单号的问题。
对此造成的不变深感抱歉!
QQ登录直接返回登录页面,不提示任何信息
出现这个问题,请检查你的服务器是否支持file_get_contents,可以检查php.in中allow_url_fopen = On
如果是开启了配置,那么请检查服务器是否支持https传输,如果不支持 请在php.ini中把extension=php_openssl.dll前面的;删掉,重启服务 即可
你也可以上传次文件到你的网站根目录,并输入你的网址/get_test.php 如果报错:Warning: fopen() [function.fopen]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?
那么就是不支持https的传输,按照上面的方法解决即可,也可以咨询你的服务器商帮你解决。
测试文件:get_test
[解压文件得到get_test.php,传到根目录并访问http://你的网址/get_test.php,看是否出现报错(Warning),若出现(callback)那么就是正常的]
使用WP Super Cache缓存之后,qq无法登陆
由于qq登录有个服务器的key是包含在链接里的, 缓存之后 这个key服务器上变化了 但是本地没变化 所以无法通过验证 就无法登陆,需要你在插件里面设置不缓存页面就可以避免这个问题的发生:

(上图是在缓存的“高级”选项卡中最下面找到)
另外高级选项中的杂项中 下图两个选项请勾选:

这样就可以正常使用QQ登录了
php函数和短代码列表
一下函数直接放在你想要的html位置即可输出对应的内容
在主题中声明支持购物盒子插件(将代码放入functions.php文件):
function shoppingbox_theme_support() {
return "您的主题已经支持购物盒子插件,您可以直接使用";
}
订单提交表单:
PHP函数:
<?php echo shop_form() ?>
短代码:[shop_short]
用户评论:
<?php echo shop_comment() ?>
短代码:[comment_short]
其他短代码
注册: [register_short]
登录: [login_short]
我的个人中心: [profile_short]
修改资料: [edit_profile]
找回密码: [fogotpassword]
输出只有登录用户才能看到的下载信息
[shop_download]
前端登录页面控制:
1. 判断用户是否登录
<?php if (is_user_logged_in()) { ?> //用户登录时输出的内容
<?php }else{ ?> //用户未登录时输出的内容
<?php }; ?>
登录注册和用户中心的链接获取
用户注册和登录是使用get_option来获取页面的id,也就是在插件的开放注册控制那里设定之后获取的get_option值
首先定义变量为这些id:
<?php $shop_login = get_option('shop_login');
$shop_register = get_option('shop_register');
$shop_profile = get_option('shop_profile'); ?>
然后输出:
<a href="<?php echo get_page_link( $shop_profile );?>">我的个人中心</a>
<a href="<?php echo get_page_link( $shop_login );?>">登录</a>
<a href="<?php echo get_page_link( $shop_register );?>">注册</a>
完整的判断用户是否登录而显示不同内容的代码:
<?php $shop_login = get_option('shop_login');
$shop_register = get_option('shop_register');
$shop_profile = get_option('shop_profile'); ?>
<?php
global $current_user; get_currentuserinfo();//这里是查询当前登录用户的信息
if (is_user_logged_in()) { ?>
<a href="<?php echo get_page_link( $shop_profile );?>">欢迎!<?php echo $current_user->display_name;//这里是通过查询的信息获取用户的名字 ?></a>
<a class="btn_login" href="<?php echo get_page_link( $shop_profile );?>">我的个人中心</a>
<?php }else{?>
<a href="<?php echo get_page_link( $shop_login );?>">登录</a>
<a href="<?php echo get_page_link( $shop_register );?>">注册</a>
<?php }?>
这样你就可以在你想要的地方输出对应的信息了,如图(需要自己调整一下css):

列表页的价格、评论人数、和星级显示
商品的价格是通过文章的自定义栏目获得的:
注意:下面的代码需要在WordPress主循环中输出才会有效:
WordPress主循环是如下:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<!-- 这两段代码之间便是WordPress主循环,请确保下面的代码是贴在这内部的-->
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
<?php $price = get_post_meta($id, 'shop_price', true);//获取价格
$original_price=get_post_meta($id,"original_price", true);//获取原价
?>
上面是获取数据库中的价格和原价,下面的代码可以输出到页面,注意顺序,先获取 后输出
<?php echo $price //输出价格 ?>
<?php echo $original_price //原价 ?>
评分人数:
<?php echo shop_comment_number(); //输出评分人数 ?>
<?php if(shop_comment_number()){ ?> html代码 <?php echo shop_comment_number();?> html代码 <?php } //如果有评分,那么输入评分人数 ?>
评分星级:
评分星级是有插件的样式支持的,你可以直接如下调用:
<p id="order_stars" class="order_stars_<?php echo shop_comment_stars()?>"></p>
显示如下:

以上即是插件所输出的函数以及一些代码参考,如果你在开发过程中遇到找不到输出结果的情况,可以在下面留言,遇到兼容问题,也可以在下面留言
如未标明出处,所有文章均为WEB主题公园原创,如需转载,请附上原文地址,感谢您的支持和关注。
本文地址:https://www.themepark.com.cn/shoppingbox-document.html
推荐阅读
- 2017年11月3日
- 2013年7月2日
- 2013年9月25日
- 2016年8月23日
- 2017年9月3日
- 2016年12月16日
- 2012年9月8日
- 2017年1月22日
- 2013年6月4日
- 2015年9月2日




