Hi Sola,
我的网站采用wordpress,首页index.php里面使用下面的代码来输出不同分类下面对应文章,分类是采用自定义分类法,
由于我需要输出多个不同分类的内容(以列表的形式表现),我现在的做法是把下面的代码复制了10遍,去输出对应分类,想请教php里面怎样合并这个请求?
网上找资料说可以把数据储存在数组里面,然后调用,没搞定,希望能帮助我
淘宝上的服务我没试过,不好评价。如果你的预算较少,就先试试我说过的测试站排除法,因为缓存只是把动态页面保存成静态html文件。像你说的只有特色图像不对,别的都对,感觉原始页面好像有问题,你用的共享主机还是vps?w3t插件只有vps以上才有使用价值,而且需要配置object cache和memcache之类的,不然还不如直接用wp super cache。当然,这些都是比较常见的问题,你网站的特有的问题还是要找人具体看,要提供hosting信息的,如果淘宝找,找个评价高一点的吧。
您好,又来请教一个问题,我看了看网上的关于“wordpress打开页面以新标签的形式”,根据我的我的网站实际情况,我希望在“商店“一栏点击商品会以新标签页的形式出现,这样顾客也不会看完一个商品再点返回键,更方便。按照网上的一些讲解,我做了调整,但是两种情况都不好:1,包括点击下一页都会以新标签页形式出现;2,点击一个商品,它的确以新标签页出现了,但是我没有关闭这个商品页面,再去点击另一个商品,第二个商品不是新页面,它把第一个商品页面给覆盖刷新了。
不知道你了解这个问题吗?
我用jquery给所有产品链接加了target=”_blank”属性,没发现你说的问题,所有点击都是新窗口打开,不会替换已经打开的。代码如下
代码假定jquery已经加载,且woocommerce的permalink custom base是product
在firefox、chrome和ie里试过,你用的啥浏览器,代码怎么写的。
我就是按照网上说的方法,在head加了那个了target=”_blank”。你的给所有商品链接加属性是怎么加的,在哪一个文件里修改
放主题的functions.php里,看好前提条件
非常感谢,已全部整好了,多谢你啊
Hi Sola,
我的网站采用wordpress,首页index.php里面使用下面的代码来输出不同分类下面对应文章,分类是采用自定义分类法,
由于我需要输出多个不同分类的内容(以列表的形式表现),我现在的做法是把下面的代码复制了10遍,去输出对应分类,想请教php里面怎样合并这个请求?
网上找资料说可以把数据储存在数组里面,然后调用,没搞定,希望能帮助我
<?php
$args = array(
'post_type' => 'post', //自定义文章类型名称
'showposts' => 3, //输出的文章数量,这个可以是缺省值,不用设置
'posts_per_page' => 1,//筛选分类置顶文章
'post__in' => get_option( 'sticky_posts' ),//筛选分类置顶文章
'ignore_sticky_posts' => 1,//筛选分类置顶文章
'tax_query' => array(
array(
'taxonomy' => 'area_usa',//自定义分类法名称
'terms' => array(7), //id为7的分类。提问所指的分类就是这个?
),
)
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();?>
<?php get_template_part( 'home', 'list' ); ?>
<?php endwhile; wp_reset_query(); //重置query查询
}
?>
你可以先把这段代码封装成一个函数,而不是复制几遍。然后尝试引入缓存机制,如果你文章不是更新的非常快的话。http://codex.wordpress.org/Transients_API
看您对woocommerce很熟悉啊。有没有像淘宝那样的运费模板吗。请告之,谢谢。
solagirl,你好,问个问题,这个问题困扰我好长时间了
当在后台设置固定链接为 /archives/postname/ ,作者页面、附件、分类、tag等等页面前面也会自动增加 /archives/,这个有没有办法去掉?分类、tag可以在后台重新设定,作者页面等等这些呢?
意思就是 后台设置固定链接为 com/archives/postname/ ,作者页面 com/author/author-name/ ,或者 文章页面为com/post-type/postname/ ,作者页面com/author/author-name/
不知道我表述清楚了没有,期待得到你的回复
这就是WordPress设定的工作方式,要改只能用代码。比如你把固定链接设置成只用postname的,然后用代码单独修改post的固定链接,放在functions.php
PS. 代码改固定链接经常出问题,这段我没深入测试过。
代码放好,把固定链接改回postname的,保存就可以了。
如果想维持现在的设置,也可以装custom permalink插件,把category和tag的链接一个一个的改了,但author的改不了
你好, 最近 遇到个问题,在安装ubermenu插件后,网站的打开速度从2s 延长到25s,经过判断是插件链接到map.googleapis.com网站的js,在插件中搜索 google 关键词 强制注释 有关内容可是还是加载js,请问 该如何删除该条js 或如何解决这个问题。
这插件可以在菜单里显示谷歌地图,得去掉这功能,我没看过代码,不清楚怎么禁用。这是付费插件,问作者更省事。
hi,Sola
怎样设置如下的自定义url
https://plus.google.com/+dealpioneer
在google plus设置里找了半天也没实现。多谢。
这个我也不清楚
谢谢你 Sola!
您好 我一个客户用的windows主机 说wordpress后台很慢 有时候后台的有的页面打不开 想问下有什么解决方法吗
抱歉,我没怎么用过windows主机,但WordPress在windows上性能确实不如linux。我想你只能搜索可能的办法一个个试了,比如这种
http://www.andrewdenhertog.com/web/solved-wordpress-slow-on-iis/
来了好多次。 很喜欢博主的主题。应该是第一次留言,如果我没记错的话。
确实是第一次发言,欢迎常来看看。
sola 好,我在首页模板里面添加了一个woocommerce shortcode,结果打开前台直接就显示了这个调用的代码 [recent_products per_page=”12″ columns=”3″ orderby=”date” order=”desc”] , ps: 这个代码在shop页面是正常工作的,,,
请问这是啥原因呢
你是在编辑器里输入的吗,那要看看你首页模版到底怎么写的,有没有the_content(),shortcode需要通过do_shortcode函数才能显示内容。
恩,是没有the_content() 的原因,谢啦
您好 我想咨询下wordpress发送邮件的问题 我的机子不支持mail函数 使用wp mail smtp配置了下 这种情况只能用wp mail smtp配置的邮箱给自己发送邮件吗
比如 我有个联系表单 第一个输入框是客户email字段 第二个字段是textarea内容字段 点击提交后 还是使用wp mail smtp设置的邮箱作为发件人邮箱吗 可不可以让客户填写的邮箱作为发件人邮箱呢
用smpt是对的,但让客户填写发件人邮箱等同于伪造地址,可能被你自己的服务器拒绝发送,更有可能被接收邮件的服务器标记为垃圾邮件。
哦哦 是这样 这个客户说自己给自己发邮件 不好 让实现用客户填写的邮箱作为发件人邮箱 请问这该如何实现呢
实现起来没什么难度,看文档http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_mail_from
难的是能不能保证邮件可以发出去
那您有什么好的意见建议吗 换一个支持mail发送邮件的主机可以吗
你可以注册一个在你域名下的邮箱,试试from地址填这个可不可以发送。
您好 我好像没表达清楚我的问题 我做的是一个外贸网站 每个产品详情页都有个咨询表单 访问这个网站的用户可以通过这个表单填写自己的邮件 这个邮件地址肯定是不同访客填写的都不一样的吧 我的这个雇主是想让访客填写的邮箱作为邮件发件人邮箱
“访客填写的邮箱作为邮件发件人邮箱”不就是contact form 7 的默认设置么,一般都能发出去,即使是伪造地址,只是能不能收到比较成问题。
如果将商品列表中的 标题 (h3)与 价格(price)互换位置呢?
如何才对 = =
改模版就可以啊,这种调整位置的东西不太难,自己学一下吧。
钩子的处理方法呢,倒是想学钩子
action和filter的学习在于理解原理,文章很多,你可以找找看,但不看铁定是学不会的。
当然想看,就是球推荐啊
我觉得先看一下WordPress初始化过程,理解wp渲染一个页面需要经过哪些阶段。
然后看一下do_action和apply_filter函数的源代码,看懂了就完全明白了。
不接单了啊?最近还推荐几个客户来你这里。
我只负责做项目,手头项目量还可以,只做过外国的,所以就不再花时间找国内的活做了,不想搞的太累。实话实说的话,是讨价还价能力太差,做国外的按小时算钱,客户也不强求非要开个tracker啥的,舒服点。以前接到过你推荐的客户,再次表示衷心的感谢!
不错不错,同意是讨价还价能力太差,做国内的单子确实很累,还捞不着好……
不好意思,又来请问问题
想问 Woocommerce Customer invoice顾客购物明细信件为什么都不会发出呢?
其他的新订单、订单完成都是可以正确发出的
又来麻烦一下你,我的网站又出了些问题,为什么我在网站进到产品页,商品全部显示同一个商品的特色图像,满屏幕都是一个商品图,我试着清除缓存,把W3t插件也删除了,只有重新载入页面,才会恢复正常,但是再次进入商店,还是会出现某个页面全屏显示一个图
w3c和woocommerce兼容问题官网有文档说明,不知你看过没。另外看下卸载说明,是不是w3c移除的不彻底。
没能找到。。。能给我个链接吗?这两天一直忙着网站宣传,总有顾客反映页面出现重复,困扰死我了,太想解决这个问题了,等我整好了,你买东西,我给大大的优惠。。
http://docs.woothemes.com/document/configuring-caching-plugins/
http://www.wpmagi.com/w3-total-cache-configuration-and-woocommerce-tip/
如果正确配置后依然无法解决问题,建议你弄个测试站,切换到默认主题,逐个禁用插件试试,最好还是雇个人好好整一下,不然以后升级啥的都麻烦。
好的,多谢了,我自己先折腾,不行了我再找人吧,淘宝有一些帮忙整问题的,你觉得靠谱吗,
淘宝上的服务我没试过,不好评价。如果你的预算较少,就先试试我说过的测试站排除法,因为缓存只是把动态页面保存成静态html文件。像你说的只有特色图像不对,别的都对,感觉原始页面好像有问题,你用的共享主机还是vps?w3t插件只有vps以上才有使用价值,而且需要配置object cache和memcache之类的,不然还不如直接用wp super cache。当然,这些都是比较常见的问题,你网站的特有的问题还是要找人具体看,要提供hosting信息的,如果淘宝找,找个评价高一点的吧。
共享主机,先买了三个月的,准备8月初到期升级别的,我先去看看排除故障,删除W3tc插件,wp-content/cache/page_enhanced/xiepu24.com,这个文件夹应不应该动
cache目录应该删除,可以搜一下卸载说明
http://redstarwebdevelopment.com/2013/05/03/how-to-remove-w3-total-cache/
Woocommere用户填写订单内容时,姓名分开填写,先名后姓,这按照外国人的习惯,但是国内总感觉很蹩脚,而且在查看订单时显示:帅 董 其实应该是董帅
这个是主题原因还是Woocommerce可以改写
你可以用woocommerce checkout manager插件直接移除那俩字段,再添加一个姓名字段
想請教您頁面的「点击加载更多文章」的功能有教程嗎?謝謝。
https://www.solagirl.net/wordpress-infinite-scroll.html
手动加载在这里https://www.solagirl.net/wordpress-infinite-scroll-manual-loading.html
感謝您的回覆!
正在使用Woocommerce,卖鞋子的,怎么能够在商品页提供选择尺码的按钮还是什么下拉框的,可能我还没发现这个设置在哪,或者这个功能需要购买,特来询问一下,希望您能帮到我,多谢了
这里是文档http://docs.woothemes.com/document/product-variations/
非常感谢,等我的网站改版做好了,和您交换链接
你好,woocommerce插件搞不定的能帮忙搞定吗?谢谢
抱歉
我最近在搞一个网关的集成 但是网关不是标准的 接口 可以
第一不能返回自定义数据
第二返回的数据 和woo的订单ID没有关联 !我设置了 一个KEY分发脚本 会被 网关引用并返回 这个脚本生成的 KEY会和SKU绑定
我现在需要 在 第三方 页面 对 根据SKU 处理订单
例如
if (!$_POST){
$POST = $_POST;
if($POST [STATUS] ==’ACTIVE’)
$order->payment_complete();// (目前这里不工作)
}
Array
(
[FIRST_NAME] => bing
[LAST_NAME] => LEE
[COMPANY] =>
[EMAIL] => info@iiexe.com
[PHONE] =>
[FAX] =>
[COUNTRY] => China
[STATE] => china
[CITY] => mu dan jiang huayuan
[ZIP] => 157000
[ADDRESS] => china hei long jiang mu dan jiang
[LICENSE_CODE] => 8A7B746AD5
[EXPIRATION_DATE] => 10000-01-01
[DATE_UPDATED] => 2014-07-12 09:52:54
[AVANGATE_CUSTOMER_REFERENCE] => 423921760
[EXTERNAL_CUSTOMER_REFERENCE] =>
[CHANGED_BY] => CUSTOMER
[LICENSE_TYPE] => REGULAR
[DISABLED] => 0
[RECURRING] => 0
[LICENSE_PRODUCT] => 4625764
[START_DATE] => 2014-07-12
[LICENSE_LIFETIME] => 1
[PARTNER_CODE] =>
[PSKU] =>
[ACTIVATION_CODE] => 3221-5642-644.2-2-5153.6-7
[STATUS] => ACTIVE
[EXPIRED] => 0
[TIMEZONE_OFFSET] => GMT+08:00
[HASH] => 6bb316620f6e507c58d42e641207daab
)
不好意思,请问你用的是什么网关?我就假设网关是第三方站点,只要网关把数据post给你的woocommerce网站,你那段代码就会执行,至于$order->payment_complete();,我不知道你有没有创建$order这个变量呢,一般要根据订单id来初始化该变量。不管你的网关能返回什么数据,都要想办法把订单id找出来才行。
恩确实是 这么回事 我使用REST API搞定了完成账单的问题 !
我集成的网关 是avangate 不是标准网关接口 需要get数据到该网关 而get数据就是已经在avangate网站上已经建立的产品ID
返回是可以返回 订单号的!是get返回 但是我希望使用IPN通知的 post接收数据 但是我并不明白woo购物车的支付过程!
甚至不知道怎么初始化$order 您能帮助我写一个简单的例子吗 例如 localhost get—> https://www.solagirl.net?order_id=x –>post—>localhost 这样的过程
用get或post都没问题,如果post不能直接传回订单id,也要传一个和订单id有唯一关系的识别字段,woocommerce中订单是通过WC_Order这个class处理的,有$order_id的情况下用$order = new WC_Order( $order_id );初始化。 IPN通知的例子,参考paypal的就可以,woocommerce文件夹下的class-wc-gateway-paypal.php,看一下function successful_request( $posted )和private function get_paypal_order( $custom, $invoice = '' )
是这样就能在wp任何页面对账单做处理吗
$order_id =$_GET[‘order_id’]
function successful_request( $posted ) {
global $woocommerce;
$order = new WC_Order( $order_id );
$order->payment_complete();
}
还是这样
function process_payment( $order_id ) {
global $woocommerce;
$order = new WC_Order( $order_id );
// Mark as on-hold (we’re awaiting the cheque)
$order->update_status(‘on-hold’, __( ‘Awaiting cheque payment’, ‘woocommerce’ ));
// Reduce stock levels
$order->reduce_order_stock();
// Remove cart
$woocommerce->cart->empty_cart();
// Return thankyou redirect
return array(
‘result’ => ‘success’,
‘redirect’ => $this->get_return_url( $order )
);
}
另外要使用IPN方式,你的网关站点必须支持才行,比如paypal允许你传一个notify_url过去,woo的代码里是这样产生的
$this->notify_url = WC()->api_request_url( ‘WC_Gateway_Paypal’ );
这样异步通知会被发送到这个地址,站点接收后进行处理就行了。
IPN是支持 在 avangat 后台返回数据
但是 并不支持POST方式提交只能使用GET方式提交 并且返回GET方式 的数据 或者 在ava 后台设置IPN返回地址进行 回传POST请求
第一段代码$order_id需要在function内部声明,才能被内部的代码访问。另外我想你可能没弄明白第三方网关和woocommerce的关系,woocommerce对支付有自己的要求,你需要先满足它的框架,根据它的框架把你网关的api加进去。比如你的网关既有同步的get方式返回,也有异步post方式通知,就可以参考paypal网关的写法,你可以直接copy paypal网关,放进自己的网关插件里,重命名class,把里面的东西都替换。
比如你的class叫WC_Gateway_Avangate,notify url就写成
$this->notify_url = WC()->api_request_url( ‘WC_Gateway_Avangate’ );
一些标准的函数需要保留,比如创建后台选项的
// Load the settings.
$this->init_form_fields();
$this->init_settings();
function init_form_fields() {…}
不需要的功能就去掉,例如,你的站点不支持测试账号,则$this->testurl可以直接删除。
总之一句话,把paypal网关当成模版来使用,有用的留没用的删,把Avangate的网关api放进去。
在回答下你的问题,首先successful_request函数是处理异步通知的,也就是用户已经完成付款后。
process_payment是用户点击place order后执行的函数,产生一些用户付款需要的表单,比如生成一个order表单并发送到paypal,不要把这俩混为一谈。
第一个函数至少应该这样写
另外这是给异步通知用的,异步通知一般不用get方式。
网关没有标准不标准的说法,只要你在写woocommerce的网关,就一定要符合woocommerce的标准。
太感谢你了 solagirl 先生/女士,我简直无以言表!
我快被woo搞疯了 !
你无私的帮助.给我减少了好多不必要的麻烦!
你能看懂我就没白忙活,祝你顺利完工。
woocommerce这么设置用户添加购物车后弹出继续浏览和结算小框框,现在网站是添加购物车后可以直接跳购物车和不跳,只提示已成功添加。可以用什么插件实现?
暂时没见过类似插件,需要写代码实现。
function 里的代码
/********** NOVARO DEFINITION *************/
define('THE_THEMENAME', 'elgrande');
define('THE_SHORTNAME', 'novaro');
define('THE_INITIAL', 'nvr');
define('THE_LANG', 'novaro');
define('THE_PARENTMENU_SLUG', 'nvrtheme-settings' );
define('THE_SITEURL', site_url() );
define('THE_ADMINURL', admin_url() );
define('THE_FRAMEWORKPATH', get_template_directory() . '/framework/' );
define('THE_FRAMEWORKURI', get_template_directory_uri() . '/framework/' );
define('THE_STYLEURI', get_stylesheet_directory_uri() . '/');
define('THE_STYLEPATH', get_stylesheet_directory() . '/');
define('THE_CSSURI', get_template_directory_uri() . '/css/' );
define('THE_JSURI', get_template_directory_uri() . '/js/' );
define('THE_ENGINEPATH', get_template_directory() . '/engine/' );
define('THE_WIDGETPATH', get_template_directory() . '/widgets/' );
/********** END NOVARO DEFINITION *************/
//Connecting to Novaro Framework
require_once THE_FRAMEWORKPATH . 'framework-connector.php';
//Starting the theme setting
require_once THE_ENGINEPATH . 'engine-start.php';
//Settings the theme options
require_once THE_ENGINEPATH . 'theme-options.php';
感觉是调用了别处的内容,但是我找不到,请帮忙 谢谢!
你好,sola,
我的这个主题底部的版权信息www.warminside.net,实在想修改一下,尤其是时间,显得很短,还有作者的链接。
但是好像隐藏了。
我看了footer.php 中代码和function.php 中代码 都没有找到 请帮我看看
我把代码贴出来
footer.php里的代码
<!– FOOTER –>
<div id="outerfooter">
<div class="container">
<div id="footercontainer" class="row">
<footer id="footer" class="twelve columns">
<div class="copyrightcontainer">
<div class="copyright"><?php nvr_footer_text(); ?></div>
<div class="footerright"><?php nvr_footer_text2(); ?></div>
<div class="clearfix"></div>
</div>
</footer>
<div class="clearfix"></div>
</div>
</div>
</div>
<!– END FOOTER –>
至少footer得代码很清晰,没加密,找个软件全文件夹搜索域名。
我用的是cpanel找的,但是没有找到相关的内容。
请告诉下用什么软件可以找到
sublime,dreamwaver之类的
我在网站上用了七牛,请问woocommerce会受影响吗?
http://www.qiniu.com/
不好意思,没用过七牛,你网站有什么异常吗
https://www.solagirl.net/woocommerce-code-sinppets.html
这篇文章写的不错,受教了,
请问我想把meta,attributes,和调节数量的加减框添加到商品页,如何实现呢?
调节数量按钮默认就有,只要你产品有加入购物车按钮。
meta是指tag之类的吗,这种主题应该默认有啊
attributes是针对variable产品的,如果是simple product,在attributes编辑框里选中在商品也显示,会显示到Additional Information里。
如果你不清楚woocommerce的具体用法,建议你先使用WordPress默认主题twentytwelve,并安装woocommerce demo数据
可能是我没有表述清楚,我给商品添加了几个自定义属性值,以attributes形式发布的,比如生产地,生产厂家,包装规格等,meta 我不太清楚怎么用,不过我看官方把编码和分类规到了meta里,我想要实现的是在商店首页里商品列表显示这些内容,并且有那个quantity框,这次再帮忙给看看?
不好意思没法看,你说的东西woocommerce默认都有,没显示出来只能说你的主题有特殊写法,只能具体看主题才知道。
强调:是在商店主页显示,不是在商品详情页?
http://b.ubody.cn/,这是首页的两个商品,我是想把自定义的那些属性和quantity框也显示在首页,主题没有什么特殊写法啊?
如果你懂php的话,meta就是几个模版标签,加到shop页模版里就行了,至于quantity,你看下这篇文章
http://christianvarga.com/how-to-add-quantity-to-product-archives-in-woocommerce-and-keep-ajax/
ps. 添加meta标签参考第一段代码里的add_action方式,我现在没时间写具体代码,你自己研究下吧。
so good,正是我想要的文章,这个quantity框让我很头疼,attributes和meta 我直接拷贝模板代码基本上能够实现,就是排版成了问题,我是想弄成列表样式,本以为这些属性能像wordpress那样的代码一句话能搞定的,。。。
http://b.ubody.cn/,功能实现了,你给的这篇文章里边有句话说“add a custom data attribute to the add_to_cart button called data-quantity”,这么怎么去加呢?现在无论数量多少最后都是+1?
. This means all we need to do is add a little bit of javascript to update this data attribute
这句话说了怎么加,就是下面那段js代码,不过要根据你模版结构调整一下selector
您好,你有部分文章有下载链接 需要登录? 找不到注册入口
注册已关闭,你要下载啥直接告诉我吧
sola, 你好,我在网站在使用过程中。单个产品下有一个“related products”如下链接(如何调用300×300的那个缩略图,而不是用150×150的缩略图)
http://www.zjwktools.com/product/ho1-6a-french-style/
你去woocommerce设置里看看catalog images的尺寸是不是150×150,若不是可以参考我这篇文章https://www.solagirl.net/woocommerce-related-product-layout-control.html
模板只改变了content-product.php,其他的都是woocommerce自带的,这段js加上之后好像没有反应,这是改过之后的代码,帮忙看一下为什么不起作用呢?
http://b.ubody.cn/content-product.zip
= =请问是否能够帮助二次开发WooCommerce,有偿服务。需要添加快递追踪和退换货功能。
抱歉,没这方面的经验。
想请教 WooCommerce可以下订单后,才传送付款连结吗?
你是想把确认订单及付款方式选择放在不同步骤里吗?要做到真正的多步骤付款,修改起来不简单。
大神,我是新人, 初用wootique这个主题,请问这个主题自带的英文 该怎么译成中文呢 ,比如Featured Products和Recent Products,我装了个CodeStyling Localization的插件,装了zh_Cn.po文件了,为什么还是英文呢,不能转成中文吗,还是哪里改代码可以改成中文。还有一个问题就是添加好一个商品后在商品详情页里 有编码:N/A的字样,请问这该怎么解决呢?
只有po不行,还要生成mo文件,插件里不是有generate mo按钮吗,翻译完了点一下。
后面那种情况我没遇到过,不会用的话装woocommerce的测试数据学习一下。
我在index.php的代码里好像看到 如果我直接改代码改成 页面马上有效果,那这样改可以吗,会有什么影响吗?
我在index.php的代码里好像看到 _e( ‘Featured Products’, ‘woothemes’ );如果我直接改代码改成 _e( ‘精选商品’, ‘woothemes’ );页面马上有效果,那这样改可以吗,会有什么影响吗?
你要是不升级主题就没啥影响,另外语言包要放对地方才管用
您好!
Nivo Slider的那几个实例代码您这里还有吗?找了半天没有找到呀
发到你邮箱了