首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >短代码冲突。如何使每个组独立加载?

短代码冲突。如何使每个组独立加载?
EN

Stack Overflow用户
提问于 2017-04-18 09:46:14
回答 1查看 60关注 0票数 0

也许我没有问对的问题,但我一定是错过了一些简单的东西。如果我在页面上放置一个体育分组,比如'NFL',那么我的短代码就会显示很好,但是当我添加第二个体育组时,让我说‘棒球’,生成的表在我下面提供的php文件成员结果函数中显示3种类型的数据($data_type=="current",$data_type=="past",$data_type=="detailed"),因为这个体育组不显示。此外,为第一组短代码生成的数据(在本例中为“NFL”)是从任何一组/运动中随机选择的。

我如何才能让所有这些简短的代码显示和加载每项运动的3种数据类型都在一个页面上,而不相互冲突?要查看页面本身发生了什么,您可以在登录后进入此处:使用临时用户名"test“https://wsplays-members.com/short-code-test/登录”密码“。作为参考,我将在下面显示我的代码。提前谢谢你。

在wordpress页面输入的短代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[get_biddata type='current' sport='NFL Football']
[get_biddata type='past' sport='NFL Football']
[get_biddata type='detailed' sport='NFL Football']

[get_biddata type='current' sport='NCAA Football']
[get_biddata type='past' sport='NCAA Football']
[get_biddata type='detailed' sport='NCAA Football']

[get_biddata type='current' sport='CFL Football']
[get_biddata type='past' sport='CFL Football']
[get_biddata type='detailed' sport='CFL Football']

[get_biddata type='current' sport='NBA Basketball']
[get_biddata type='past' sport='NBA Basketball']
[get_biddata type='detailed' sport='NBA Basketball']

[get_biddata type='current' sport='NCAA Basketball']
[get_biddata type='past' sport='NCAA Basketball']
[get_biddata type='detailed' sport='NCAA Basketball']

[get_biddata type='current' sport='MLB Baseball']
[get_biddata type='past' sport='MLB Baseball']
[get_biddata type='detailed' sport='MLB Baseball']

php文件成员结果函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
function memberresults($sport_val,$data_type){
global $wpdb;
  $bidsys_options = get_option('bidsys_options');
   for($i=1;$i<11;$i++){
        if($bidsys_options->sportsstatus[$i]!="Disabled"){
             if($sport_val==$bidsys_options->sportsname[$i])
             $sport = $i;
   }}
  $user = get_current_user_id();
  $currentsportaccess =   get_user_meta($user,"sport_".$sport ,true);
    if($currentsportaccess=="No"){
        ?>
        <div class="pmpro_content_message">Your access plan is valid but does not give you access to view this section.<br /> You may <a href="<?=home_url();?>/purchase/">purchase another access plan here</a>.</div>
        <?php

    } else {


    if($data_type=="current"){
      if (pmpro_hasMembershipLevel() ) {
   ?>
   <script type='text/javascript'>
jQuery(document).ready(function(){
    memberresults("current","<?php echo $sport;?>","");
});
</script>
<h1 class="post-title"><?php echo $sport_val; ?> Picks</h1>
<h2 class="post-title">Current Season</h2>
<table class='inner_result'>
<td colspan='5' >
<table id='member_<?=$data_type;?>season_vals_inner' class='hdr_3 inner_result'>
</table>
</td>
</table>
   <?php
        } else {

            ?>
        <h1 class="post-title"><?php echo $sport_val; ?> Picks</h1>
        <h2 class="post-title">Current Season Record</h2>
        <div class="pmpro_content_message">You must be logged in to view this section.  Please <a href="<?=home_url();?>/login/">log in</a> or <a href="<?=home_url();?>/register/">register here</a>.</div>
        <?php

        }
    } else  if($data_type=="past"){
     if (pmpro_hasMembershipLevel() ) {

    $result = "SELECT * FROM ".$wpdb->prefix."bidsys_sport_seasons WHERE sport=  '".$sport."' AND current_season = 'NO'   ORDER BY start_date DESC";
     $newmeta = $wpdb->get_results($result);
    ?>
<script type='text/javascript'>
jQuery(document).ready(function(){
    memberresults("past","<?php echo $sport;?>","season_<?php echo $newmeta[0]->id;?>");
});
</script>
<h1 class="post-title"><?php echo $sport_val; ?> Picks</h1>
<h2 class="post-title">Previous Seasons</h2>
    <form action='' method='post' class="f_p_filter_frm outside_table">
    <select  name='f_p_filter' class="f_p_filter" onchange='memberresults("past","<?php echo $sport; ?>",this.value)' >
    <?php $i = 0; foreach($newmeta as $seasons ){
        if($i == 0){  $sel =  'selected=""'; } else { $sel = ""; }
        ?>
    <option value='season_<?php echo $seasons->id;?>' <?php echo $sel;?>><?php echo $seasons->season_name;?></option>
    <?php $i++; } ?>
    </select>
    </form>

<table class='inner_result'>
<td colspan='5' >
<table id='member_<?=$data_type;?>season_vals_inner' class='hdr_3'>
</table>
</td>
</table>
   <?php
        } else {

            ?>
        <h1 class="post-title"><?php echo $sport_val; ?> Picks</h1>
        <h2 class="post-title">Previous Seasons Records</h2>
        <div class="pmpro_content_message">You must be logged in to view this section.  Please <a href="<?=home_url();?>/login/">log in</a> or <a href="<?=home_url();?>/register/">register here</a>.</div>
        <?php

        }

    } else  if($data_type=="detailed"){
     if (pmpro_hasMembershipLevel() ) {
   ?>
   <script type='text/javascript'>
jQuery(document).ready(function(){
    memberresults("detailed","<?php echo $sport;?>","yesterday");
});
</script>
<style>
.imgwin {
    background: url('/wp-content/plugins/bid-sys/customgif/winningPick.gif');
     height: 16px; width: 16px; margin:8px;
}
.imgloss {
    background: url('/wp-content/plugins/bid-sys/customgif/losingPick.gif');
     height: 16px;  width: 16px;  margin:8px;
}
.imgpush {
    background: url('/wp-content/plugins/bid-sys/customgif/pushedPick.gif');
     height: 16px;  width: 16px; margin:8px;
}

</style>
<h1 class="post-title"><?php echo $sport_val; ?> Picks</h1>
<h2 class="post-title">Detailed History</h2>
<form action='' method='post' class="f_p_filter_frm outside_table">
    <select  name='f_p_filter' class="f_p_filter" onchange='memberresults("detailed","<?php echo $sport; ?>",this.value)' >
    <?php
    $result = "SELECT * FROM ".$wpdb->prefix."bidsys_sport_seasons WHERE sport=  '".$sport."' AND current_season = 'NO'   ORDER BY start_date DESC";
     $newmeta = $wpdb->get_results($result);

    foreach($newmeta as $seasons ){
        ?>
    <option value='season_<?php echo $seasons->id;?>' ><?php echo $seasons->season_name;?></option>
    <?php  }
    ?>
    <option value='playoftheday30' >Play of the Day (L30 Days)</option>
    <option value='playoftheday365' >Play of the Day (L365 Days)</option>
    <option value='latebreakingplay30' >VIP Late Info Play (L30 Days)</option>
    <option value='latebreakingplay365' >VIP Late Info Play (L365 Days)</option>
    <option value='vipplays30' >VIP Plays (L30 Days)</option>
    <option value='vipplays365' >VIP Plays (L365 Days)</option>
    <option value='yesterday' selected="">Yesterday</option>
    <!--<option value='thisweek' >This Week</option>-->
    <option value='past7days' >Past 7 Days</option>
    <!--<option value='thismonth' >This Month</option>-->
    <option value='past30days' >Past 30 Days</option>
    <!-- <option value='thisyear' >This Year</option> -->
    <option value='current' >Current Season</option>
    <option value='past365days' >Past 365 Days</option>
    </select>
    </form>
<div style="width: 56px; float: right; background: #F8F8F8;"><img src="/wp-content/plugins/bid-sys/customgif/pushedPick.gif" />  Push</div><div style=" margin: -2px 3% 0; padding-bottom: 2px; float: right;">|</div>
<div style="width: 56px; float: right; background: #F8F8F8;"><img src="/wp-content/plugins/bid-sys/customgif/losingPick.gif" />  Loss</div><div style=" margin: -2px 3% 0; padding-bottom: 2px; float: right;">|</div>
<div style="width: 48px; float: right; background: #F8F8F8;"><img src="/wp-content/plugins/bid-sys/customgif/winningPick.gif" />  Win</div>
<table class='inner_result detailed_history'> 
<tr class="hdr_2">
<td>Game Date</td>
<td colspan="2">Game/Pick Details</td>
<td>Result</td>
<td>Unit Change</td>
</tr>
<table id='member_<?=$data_type;?>season_vals_inner' class='hdr_3'>
</table>
</table>
   <?php
        } else {

            ?>
        <h1 class="post-title"><?php echo $sport_val; ?> Picks</h1>
        <h2 class="post-title">Detailed History</h2>
        <div class="pmpro_content_message">You must be logged in to view this section.  Please <a href="<?=home_url();?>/login/">log in</a> or <a href="<?=home_url();?>/register/">register here</a>.</div>
        <?php

        }

    } else  if($data_type=="pending"){
      if (pmpro_hasMembershipLevel() ) {
   ?>
<script type='text/javascript'>
jQuery(document).ready(function(){
    memberresults("pending","<?php echo $sport;?>","");
});
</script>
<h1 class="post-title">Today's <?php echo $sport_val; ?> Picks</h1>
<table id='member_<?=$data_type;?>season_vals_inner' class='hdr_3'>
</table>
   <?php 
      }
        } else  if($data_type=="unauthorized"){
            if (pmpro_hasMembershipLevel() ) {
        ?>
<h1 class="post-title">Today's <?php echo $sport_val; ?> Picks</h1>
<div class="members-only">
Picks posted here are for <strong>PAID MEMBERS ONLY</strong>.<br> Your current membership level is not authorized to view this section.</strong><br> <a href="<?=home_url();?>/subscription-options/">Click Here</a> to upgrade your membership and view today's <?php echo $sport_val; ?> picks.</p></div>
        <?php
        }
      }

        else if($data_type=="defaultMessage"){
            if (pmpro_hasMembershipLevel() ) {
        ?>
        <!--INTENTIONALLY LEFT BLANK SO WHEN A MEMBER LOGS IN THE MESSAGE BELOW DISAPPEARS-->
        <?php

        } else {

        ?>
<div class="loggedout-members-only">
<p>Picks posted here are for <strong>PAID MEMBERS ONLY</strong>.<br>
<a href="http://wsplays-members.com/login/">Log In</a> &nbsp;-<strong>or</strong>-&nbsp; <a href="http://wsplays-members.com/subscription-options/">View/Purchase Subscriptions Here</a>.</p>
<p><a href="http://wsplays-members.com/membership-account/membership-checkout/?level=23">Click Here</a> to register for <strong>FREE PICKS</strong> and gain <strong>FREE ACCESS</strong><br> to our Pick History &amp; Detailed Records </p>
</div>
        <?php
        }
      }
   }
}
?>

php文件短代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
include('ajax_member_support.php');
function ajax_member_support( $atts ) {
    extract( shortcode_atts( array(
        'sport' => '',
        'type' => '',
    ), $atts ) );

     $sport_val = $sport;
     $data_type = $type;

ob_start();
memberresults($sport_val,$data_type);
$output_string=ob_get_contents();;
ob_end_clean();

return $output_string;

}
add_shortcode('get_biddata', 'ajax_member_support');

Javascript文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var memberresults =
        function memberresults(seasontype, sport, seasonrange) {
            "use strict";
            var ajaxl = '<img src="/wp-content/plugins/bid-sys/customgif/ajax-loader.gif" alt="" />',
                dataURL = "seasontype=" + seasontype + "&sport=" + sport + "&seasonrange=" + seasonrange;
            jQuery("#member_" + seasontype + "season_vals_inner").html(ajaxl);
            jQuery.ajax({
                type: "POST",
                url: "/wp-content/plugins/bid-sys/ajax_member.php",
                data: dataURL,
                success: function (msg) {  // alert(msg);
                    jQuery("#member_" + seasontype + "season_vals_inner").html(msg);
                }
            });
        };
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-20 07:44:32

问题是插件创建了表id的member_currentseason_vals_innermember_pastseason_vals_inner等。每个插件中的6个表示重复的id,而id的应该是唯一的!ajax将其结果放在它使用该id找到的第一个表中,因此所有结果都将进入“NFL足球”表。

您所看到的随机性是因为对于每个项目,成员结果都是通过ajax (异步的)分别获取的,即内容在到达浏览器时呈现。任何结果都可能是最后到达的,这就是您将在NFL表中看到的。

这可以用一个包装器来修复,作为js/jquery查找正确表的上下文,但是最好修复唯一的id。因为我不想让每个项目显示不止一次,所以我建议将php $sport号附加到表id,并调整js来使用它。js会员制结果()已经接收到这个数字作为它的第二个参数。

在php成员结果函数中,更改以下一行,4次:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<table id='member_<?=$data_type;?>season_vals_inner' class='hdr_3 inner_result'>

至:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<table id='member_<?=$data_type;?>season_vals_inner<?=$sport;?>' class='hdr_3 inner_result'>

在javascript成员结果中,更改如下,2次:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jQuery("#member_" + seasontype + "season_vals_inner").html ...

至:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jQuery("#member_" + seasontype + "season_vals_inner" + sport).html ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43478945

复制
相关文章
如何使iOS后台运行代码
最近在开发一个关于校园的项目,其中有这么一个需求:学生晚上8:00第一次打完卡后在当天夜晚11:00时需要再一次上传学生当前地理位置,判断是否还在宿舍(MMP防不胜防)。但是最后一次上传是不需要学生操作的,APP默默的执行。
用户6094182
2019/08/23
1.8K0
如何使iOS后台运行代码
[Git]如何解决Git代码冲突
1、解决思路 在团队开发中,提交代码到Git仓库时经常会遇到代码冲突的问题。 原因:多人对相同的文件进行了编辑,造成代码存在差异化 解决方案: 使用工具或git命令对比不同分支代码的差异化 把不同分支中有效代码进行保留,合并成最终代码 提交合并后的最终代码 下面我们基于idea工具与git命令行两种实施操作开始动手实践。 2、动手实践 使用Idea工具解决 对比不同分支代码的差异化 选择有代码冲突的类后,进行Merge(合并) 2. 把不同分支中有效代码进行保留,并合并成最终代码 在不同分支上,选择
宇宙无敌暴龙战士之心悦大王
2023/03/13
1.8K0
常用短代码插件:WPJAM Basic 的短代码扩展
很多国内主题只针对WP经典编辑器做了扩展,而古腾堡编辑器却要屏蔽(虽然我认为古腾堡编辑器的功能极其强大,完爆经典编辑器。),经典编辑器中很多内容无法自己生成,例如表格之类的,所以这款免费插件就能帮你!
会长君
2023/04/25
1.4K0
常用短代码插件:WPJAM Basic 的短代码扩展
不是每个开发者都在正确使用SVN解决代码版本冲突
不知道从什么时候开始,我把解决svn代码冲突的问题加到初、中级面试者的题目中,主要考察编写代码量的多少、协作编写代码、SVN使用的规范等问题。只要你写的代码够多,经常与别人协作完成功能,碰到代码冲突在所难免。
MavenTalker
2019/07/19
9190
不是每个开发者都在正确使用SVN解决代码版本冲突
react+electron使应用窗口相互独立
前两篇文章我们介绍了react+electron构建桌面应用和如何加载本地的静态资源。然后现在有个需求,是要使应用里的弹窗独立于主窗口,今天来实现这个需求。
winty
2020/08/24
1.8K1
react+electron使应用窗口相互独立
现在,每个部门都能独立管理培训学习!
“年底”是一个有魔力的词。 看到这个词,就会想到假期、旅游、红包、美食、团聚… 当然,随之而来的还有绩效考核…… 考核季,对于员工来讲,是进行年终工作总结、冲击年终奖的时候;而对于企业培训部门来讲,正是检验培训成果的时候。 在回顾时,不知是否会遇到以下这些问题? 1、培训部门自主生产、设计培训内容,却远远跟不上各业务部门的知识需要? 2、集团分公司、企业分部门之间培训场景差异大,且培训资源针对性、保密性强,是否需要各组织独立管理? 3、企业工作中通常有大型项目,项目人员流动性大,项目负责人是否能独立管
腾讯乐享
2019/12/30
7050
现在,每个部门都能独立管理培训学习!
短代码-帮助文档
基本为以上两种写法,需要 Content 的使用第一行的写法,不需要的采用第二行的写法。
字节星球Henry
2021/08/09
1.8K0
POSTGRESQL 短查询优化,独立索引与组合索引 8
这是一个关于POSTGRESQL 查询的优化系列,这已经是这个系列的第八集了,接上期,在OLTP查询中我们需要注意的查询优化的地方非常多,稍不留意就会在一些问题上的操作导致查询的数据逻辑错误。继续上次的问题,在查询中,针对事件的查询问题,我们一般处理的模式
AustinDatabases
2022/04/05
1.4K0
POSTGRESQL  短查询优化,独立索引与组合索引  8
Mirages短代码使用
支持 m3u8、mp4,flv 和 mkv 格式,不过编码必须是 H.264 AAC
ZGGSONG
2022/09/09
2.4K0
Mirages短代码使用
短代码插件S-shortcodes 更新2.4版本:修复font icon的冲突问题
短代码插件S-shortcodes 前几天刚更新为2.3 版本(详见《短代码插件S-shortcodes 更新2.3版本:扁平化风格》),有用户反映说会与某些主题自带的font icon 冲突,因此这次紧急更新为2.4 版本修正这个问题。 S-shortcodes v2.4  版本下载地址 百度网盘 Github下载 代码以及托管到Github,获取最新版本请前往项目主页。 历史版本下载到:http://devework.com/s-shortcodes.html S-shortcodes v2.4
Jeff
2018/01/22
5660
woocommerce shortcode短代码调用
WooCommerce配备了很多shortcode短代码(简码),可以直接在post帖子和page页面内插入内容,方便展示产品、分类等。比如直接在文章编辑时直接插入[products],或者在php文
ytkah
2023/03/14
11.2K0
woocommerce shortcode短代码调用
如何用短代码实现内容WordPress会员登录可见?
如何用短代码实现内容WordPress会员登录可见?给自己的WordPress网站增加一个会员可读范围,会员需要登录后才能查看相关内容。
主机教程网2bcd.com
2022/11/28
6840
如何用短代码实现内容WordPress会员登录可见?
scope='request'的bean预加载冲突
Error creating bean with name ‘authenticationSuccessServlet’: Scope ‘request’ is not active for the current thread; consider defining a scoped proxy for this bean if you intend to refer to it from a singleton; 情景: 我自定义了一个spring security中的Authentication
用户1174983
2018/02/05
9250
如何找短域名
当我看到 Kevin Rose 的最新网站的域名,Pownce.com,我想可能我也应该去给自己买个短些即使有点怪的域名。
Denis
2023/04/14
1.3K0
如何找短域名
使vuepress可以设置每个文章页的专属Keywords
因为希望写的博客可以更好的被搜索引擎所收录,所以希望可以设置每个文章页的专属keywords。
taixingyiji
2022/07/25
5350
使vuepress可以设置每个文章页的专属Keywords
短代码-带有背景的Toast
这里逐渐收集了本人自己编写的「短代码」和「重复发明轮子(Reinventing the wheel)」。所有的短代码可前往 “时光”-“文章标签”-“短代码” 查看 DiyToast.class - 主要接口 /** * @author Administrator * @year 2019 * @Todo TODO 自定义Toast * @package_name com.example.shengsaidemo2019.toats * @project_name 2019ShengSaiDemo
奶油话梅糖
2021/03/16
1.1K0
短链接系统如何设计
今天给大家带来的文章是:《短链接系统如何设计》。在开始之前,先让我们熟悉一下什么是长链接:
shigen
2023/10/14
3370
短链接系统如何设计
WordPress加速技巧总结-如何使您的WordPress网站加载速度快
网站优化网站加速一直是一个持久的话题,及时今天我们的网络宽带速度越来越好了,但是对于速度的追求是无止境的,文章来源:https://zouaw.com/
wordpress建站吧
2019/09/27
1.1K0
WordPress加速技巧总结-如何使您的WordPress网站加载速度快
给你代码:短链接生成原理
短链接,顾名思义就是在形式上比较短的链接。最早存在于微博(如新浪微博,t.cn,url.cn)分享网址中。比如这样的:t.cn/Aidjddvo
Java架构师历程
2020/01/16
2.6K0
git拉取代码如何解决冲突_Git工具-git pull拉取代码时冲突的解决办法[通俗易懂]
error: Your local changes to the following files would be overwritten by merge:
全栈程序员站长
2022/11/08
3.8K0

相似问题

如何使短代码在wordpress中工作?

13

Cakephp加载单元(BBcode/短代码)

14

如何使代码中的线程独立运行

24

如何使组文本与独立的小部件对齐

24

如何为WordPress中的每个短代码过滤att

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文