wordpress主题建站,选择WEB主题公园中文原创企业网站模板!

WordPress技术博客 news
您现在的位置:首页 > WordPress技术博客 > 购物盒子WordPress支付插件参考技术文档

本周推荐网站模板

WordPress主题视频教程

最近更新的WordPress主题
最新更新过的网站模板

购物盒子WordPress支付插件参考技术文档

发布时间:2015/02/05 WordPress技术博客 插件介绍 6675 38

如果你是一个开发者,或者自己懂一些前端编程知识,那么你可以自己修改你的主题进行支持!

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或者更高:

53

 

 

购物盒子在前期规划中出现了一个小的疏忽,那就是快递单号在数据库中的长度只有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服务器上变化了 但是本地没变化 所以无法通过验证 就无法登陆,需要你在插件里面设置不缓存页面就可以避免这个问题的发生:

60617

(上图是在缓存的“高级”选项卡中最下面找到)

另外高级选项中的杂项中 下图两个选项请勾选:

60716

这样就可以正常使用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):

theme_sport3

列表页的价格、评论人数、和星级显示

商品的价格是通过文章的自定义栏目获得的:

注意:下面的代码需要在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>

显示如下:

theme_sport4

 

以上即是插件所输出的函数以及一些代码参考,如果你在开发过程中遇到找不到输出结果的情况,可以在下面留言,遇到兼容问题,也可以在下面留言

 

WordPress原创主题,高端网站模板建站,网站模板建站资源以及开发知识分享,尽在WEB主题公园

如未标明出处,所有文章均为WEB主题公园原创,如需转载,请附上原文地址,感谢您的支持和关注。

============关于WEB主题公园=============

WEB主题公园致力于开发适合中国人习惯的中文WordPress网站模板,并提供全程视频教程,让您能够轻松的使用网站模板建立好自己的网站!

分享WordPress开发,网站维护经验,分享更多有用的WordPress知识

WEB主题公园--做最好的中文原创WordPress主题,网站模版。

  1. 哪位大师给个回复呢,非常感激

    2016年4月23日 12:39 回复
  2. 购物盒子好像与我的主题不兼容,麻烦赐教下,如何修复这个问题。

    启用购物盒子插件后显示:

    无法启用插件,因为它引起了一个致命错误(fatal error)

    Fatal error: Cannot redeclare is_admin_comment() (previously declared in D:\ceshi\xampp\htdocs\wordpress\wp-content\themes\2FengYun2\functions.php:225) in D:\ceshi\xampp\htdocs\wordpress\wp-content\plugins\shoppingbox\cat-bbs_sigon.php on line 10

    我的主题代码:

    224 // 判断管理员

    225 function is_admin_comment ($comment_ID=0) {

    226 $user_id = get_comment($comment_ID)->user_id;

    227 $user_info = get_userdata($user_id);

    228 return $user_info->user_level == 10;

    229 return $admin_comment;

    230 }

    购物盒子代码:

    1 user_id == 1){

    7 $admin_comment = true;

    8 }

    9 return$admin_comment;

    10 }

    2016年4月22日 20:41 回复
    • WEB主题公园

      应该是主题和查件的函数名一样造成了冲突,下版本更新我们会将函数名修改成别的以解决这个问题

      2016年4月25日 09:32 回复
      • 麻烦看下,我现在这个问题怎么解决呢?

        2016年4月25日 19:53 回复
  3. 你好,跟我用的主题冲突了,无法启用,帮忙看一下谢谢!
    无法启用插件,因为它引起了一个致命错误(fatal error)。
    Fatal error: Cannot redeclare mytheme_comment() (previously declared in /home/wwwroot/fulimp4/web/wp-content/themes/uctheme_wyzdg/inc/comments_list.php:3) in /home/wwwroot/fulimp4/web/wp-content/plugins/shoppingbox/cat-bbs_sigon.php on line 86

    2016年2月2日 10:18来自QQ 回复
  4. mms

    你好,自定义文章类型,如何兼容购物盒子呢

    2016年1月26日 15:03 回复
    • WEB主题公园

      直接插入相关短代码即可

      2016年1月26日 15:03 回复
      • mms

        您好,我的意思是 自定义的文章类型,不显示“商品化文章选项” 这个界面,系统默认的文章类型正常显示

        2016年1月26日 15:24 回复
        • WEB主题公园

          后台吗?后台是都会显示的,你可以折叠这一选项卡

          2016年1月26日 15:26 回复
          • mms

            是后台,我add_action(‘init’, ‘my_custom_init’); 添加了一个 产品 类。发布文章时,文章编辑框下面就没有 商品化文章选项 界面

            2016年1月26日 15:37 回复
  5. 175

    付费下载有问题啊,不付费也可以看到下载链接

    2015年10月18日 11:26来自QQ 回复
    • WEB主题公园

      付费下载的链接是加密的,你看下是否设置到登陆下载的链接那里了。另外加密的付费下载链接必须是上传到服务器的不能使用网盘链接。

      2015年10月19日 10:25 回复
  6. 25069133

    能出个1.4的技术文档吗?这上面只是例举了简单的代码调用

    2015年8月8日 15:19 回复
  7. 你需要编辑php.in,找到 disable_functions 后面是否有register_globals,并删除。这个可否讲详细一点啊,将register_globals=Off,改成了register_globals=On,还是不行,登陆还是没有反应,这个设置可否写详细一点啊,多谢!

    2015年7月17日 15:33 回复
    • WEB主题公园

      现在查明是php版本的问题,将服务器环境的php版本升级到5.3以上即可

      2015年8月29日 11:29 回复
  8. 潘潘

    请问用户下了订单之后,用户在个人中心的订单列表里怎么取消订单?

    2015年5月16日 22:39来自QQ 回复
    • WEB主题公园

      目前还不支持这个操作,下版本的购物盒子加入购物车之后就可以管理订单了

      2015年5月20日 12:27 回复
  9. 莆田鞋厂代发

    Fatal error: Cannot redeclare custom_smilies_src() in /home/ftp/1520/too-20141004-Rci/shop.toobooo.com/wp-content/plugins/shoppingbox/cat-bbs_sigon.php on line 188
    这应该修改哪

    2015年4月28日 23:56来自QQ 回复
  10. 酷鬼

    列表调用不了价格!咋办:

    2015年3月9日 01:08 回复
  11. 关闭原登陆链接后 管理员账号无法登陆

    2015年3月6日 16:13 回复
    • WEB主题公园

      插件的登录接口是否做好了? 这个测试过是没有问题的

      2015年3月6日 16:15 回复
      • 我用测试账号登陆 都是无误的 请问怎么撤销这个操作。 只有管理员账号无法登陆 强行提升测试账号为管理员后 测试账号也无法登陆了

        2015年3月6日 16:22 回复
        • WEB主题公园

          登录ftp 将插件文件夹该名称
          登录入口是建立好了插件所提供的短代码页面么

          2015年3月6日 16:24 回复
          • 是的,登陆入口是用短码建立的页面

            2015年3月6日 16:25 回复
            • WEB主题公园

              有可能是对某些程序有冲突,这里在下一个版本会增加一个自定义管理员登陆的链接,这样分流一下,也比较安全

              2015年3月6日 16:30 回复
              • 那么我修改文件名登陆之后 可以再启用么 这次不关闭默认登陆

                2015年3月6日 16:31 回复
                • WEB主题公园

                  你修改插件文件名之后默认会关闭插件,这样登录就行了 ,插件对默认登录入口没有影响

                  2015年3月6日 16:33 回复
                  • 请问这个问题 更新了么? 一直等着用呢!

                    2015年5月7日 10:03 回复
                    • WEB主题公园

                      经过测试,管理员是可以登陆的,请下载最新版本安装,并按照教程去设置

                      2015年5月7日 13:25
  12. 酷鬼

    我已经建好登录、注册、个人中心等页面的,但是登录总出现错误:【解决方案】,错误提示如下:
    Warning: Cannot modify header information – headers already sent by (output started at /a/domains/aihee.com/public_html/wp-content/themes/twentythirteen/profile.php:1)
    【解决方案:】
    什么原因我知道,我是PHP小白,官方给我的解决办法,主题的functions.php文件加ob_start(); 解决
    代码如下:
    <?php ob_start();
    希望别的小白碰到我这样的问题能帮到你奥 不用谢我 我是雷锋 要谢谢官方:)

    2015年3月4日 10:35 回复
  13. 酷鬼

    <html >

    <meta charset="”>

    <meta name="description" content="” />
    <meta name="keywords" content="” />

    <a href="”>display_name;//这里是通过查询的信息获取用户的名字 ?>
    <a class="btn_login" href="”>个人中心

    <a href="”>登录
    <a href="”>注册

    提琴知识
    提琴学院
    官方商城
    首页

    2015年3月2日 23:23 回复
    • WEB主题公园

      您安装好了购物盒子之后,要在用户登录注册选项那里指定好你建立好的登录、注册、个人中心等页面,才会有正确的链接链接过去,注意添加先关代码时,php代码也需要加入好

      2015年3月3日 11:08 回复
      • 酷鬼

        我已经建好登录、注册、个人中心等页面的,但是登录总出现错误:
        Warning: Cannot modify header information – headers already sent by (output started at /a/domains/aihee.com/public_html/wp-content/themes/twentythirteen/profile.php:1) in /a/domains/aihee.com/public_html/wp-includes/pluggable.php on line 918

        Warning: Cannot modify header information – headers already sent by (output started at /a/domains/aihee.com/public_html/wp-content/themes/twentythirteen/profile.php:1) in /a/domains/aihee.com/public_html/wp-includes/pluggable.php on line 919

        Warning: Cannot modify header information – headers already sent by (output started at /a/domains/aihee.com/public_html/wp-content/themes/twentythirteen/profile.php:1) in /a/domains/aihee.com/public_html/wp-includes/pluggable.php on line 920

        Warning: Cannot modify header information – headers already sent by (output started at /a/domains/aihee.com/public_html/wp-content/themes/twentythirteen/profile.php:1) in /a/domains/aihee.com/public_html/wp-includes/pluggable.php on line 1178

        2015年3月4日 09:48 回复
  14. 酷鬼

    链接的位置不对啊,我还不熟 正在摸索 谢谢你们

    2015年2月28日 13:55 回复
  15. 胖子|pzguanli.com

    无法启用这个插件,提示如下:
    Fatal error: Cannot redeclare cut_str() (previously declared in /home1/vhost/vh577915/www/wp-content/themes/tinection/functions.php:476) in /home1/vhost/vh577915/www/wp-content/plugins/shoppingbox/functions.php on line 66

    2015年2月21日 20:06来自QQ 回复
    • WEB主题公园

      插件和主题的函数有冲突,你可以看下wp-content/plugins/shoppingbox/functions.php 66行的函数

      2015年3月4日 09:40 回复