我在wordpress数据库中添加了一个自定义表。除此之外,我还创建了一个快捷代码,可以将其附加到我的wordpress网站的特定页面上。表有两列,id和u代码。
自定义表用于存储优惠券代码,我需要能够在按钮的单击事件上显示此表的第一行列值(优惠券代码=插入编号)。
function coupon_codes() {
?>
<button class="reveal_coupon" onclick="reveal_coupon()">CLICK TO REVEAL
COUPON CODE</button>
<div class="coupon"></div>
<?php
global $wpdb;
$result = $wpdb->get_results ( "SELECT * FROM coupon_codes LIMIT 1"
);
foreach ( $result as $print ) {
echo $print->coupon_code;
}
}
add_shortcode( 'coupon_codes' , 'coupon_codes' );
我明白为了实现这一点,我需要将php代码移到一个单独的php文件中,因为这个代码只在服务器端运行,只有在click事件上运行该文件才能实现。那部分我理解。
除非用click事件调用,否则无法显示行值。这就是为什么我认为js/jquery可以在这种情况下工作,但是我无法准确地理解脚本以使其工作。
1条答案
按热度按时间doinxwow1#
您似乎误解了php和html/js/css的交互方式。
如果在单击按钮之前无法显示行值(我假设您有
<button class="reveal_coupon"...
元素),你几乎在正确的轨道上。假设你的<div class="coupon"></div>
优惠券是专门用来保存php脚本输出的优惠券数据的,下面我将做一些观察:你是
echo
将您的数据放在coupon
div
,所以无论您输出什么,都不一定要遵循您为这个元素实现的css样式和js逻辑。将php代码移到<div class="coupon">
以及</div>
.为了实现所需的功能,您需要添加相关的javascript和css样式。最易维护的方法是将js和css分解成单独的文件,并利用
wp_enqueue_script
以及wp_enqueue_style
新函数/排队挂钩对中的函数,以便在适当的时间在dom中插入对这些文件的引用:在这些文件中,您需要添加(a)javascript逻辑来实现
reveal_coupon()
函数引用在您当前的html输出,和(b)css样式最初隐藏优惠券代码。