我的网站(http://www.chicagokaraokenight.com/wordpress)是一个卡拉OK目录,酒吧可以免费列出卡拉OK之夜或升级到高级或特色高级列表(付费套餐)以获得更强大的个人资料。
作为升级到付费套餐的好处的一部分,我想让付费列表中的某些小部件消失。
我的主题作者(Listify)推荐插件 Widget Logic 并说出以下内容:
根据特定条件,使用https://wordpress.org/plugins/widget-logic/显示/隐藏窗口小部件。
使用类似的东西:
wc_paid_listings_get_user_package($ package_id)
我仍然有点不清楚我应该编辑逻辑说什么,并希望有人可以提供帮助。我知道如何获取包ID(如果我将鼠标悬停在产品页面上的包中,我可以看到它们)。
我希望隐藏的小部件是基于付费套餐的列表,包括Google广告,最近的商家信息和精选商品详情。
谢谢!
更新:在我提到免费软件包ID为971之后,WC付费列表插件开发人员给了我这些代码和信息:
global $post; $used_package = get_post_meta( $post->ID, '_package_id', true ); if ( 971 === $used_package ) { // Free }
您可以将其包装在自定义函数中以在窗口小部件逻辑中使用:
function job_was_posted_with_package( $package_id ) { global $post; $used_package = get_post_meta( $post->ID, '_package_id', true ); return $package_id == $used_package; }
通过:
调用job_was_posted_with_package( 971 );
我现在有需要吗?有人可以帮我确定哪些需要进入functions.php,Widget Logic应该怎么做等等?
答案 0 :(得分:0)
Widget Logic在内部工作方式上非常直接。
我假设你已经创建了一个小部件,你需要做的是制作或使用一个返回布尔的函数
function is_paid_member(){
// Verification Code here
return TRUE;
}
然后将is_paid_member()
放在受影响的小部件的小部件逻辑字段中。
如果你可以为验证方法打印一些代码,我很可能会编辑答案以使其可行。
请澄清以下内容,Widget是否始终在Administrative界面中可用?如果是,那么它将超出Widget Logic范围,这会影响显示在前端的大多数激活的Widgets。
答案 1 :(得分:0)
来自WP付费列表的Mike Jolley,正确的代码是:
function job_was_posted_with_package( $package_id ) {
global $post;
$used_package = get_post_meta( $post->ID, '_package_id', true );
return $package_id == $used_package;
}
应该放在functions.php文件中。
然后:
( ! job_was_posted_with_package( ID ) && ! job_was_posted_with_package( ID ) )
或
job_was_posted_with_package( ID )
应该是您要显示/隐藏的小部件上输入到Widget Logic的条件。