我目前正在使用wordpress,我有一个链接应该播放<div id="menu" class="menu">
<ul class="headlines">
<li id="item1"onclick="checklist(this)"><button onclick="myFunction()">AA</button></li>
<li id="item2"><button onclick="myFunction2()">A </button></li>
<li id="item3">B </li>
<li id="item4">C </li>
<li id="item5">D </li>
<li id="item6">E </li>
<li id="item7">F </li>
</ul>
</div>
文件,具体取决于帖子的标题。因此,如果帖子标题为wav
,那么它应该从uploads文件夹中播放'one'
。但是,每个帖子上的声音文件只播放最新的帖子标题。因此,如果我添加了一个名为one.wav
的帖子,然后添加了一个名为two
的帖子,则这两个帖子都会播放one
。
以下是代码:
HTML
one.wav
JQuery的
<span id="dummy"></span>
<a class="playSound" onclick="playSound();" href="#">
<i class="fa fa-volume-up"></i>
</a>
和PHP
function playSound() {
$.ajax({
url: 'sound.php',
data: "getSound",
type: "GET",
datatype: "html",
success: function(data) {
document.getElementById("dummy").innerHTML= "<embed src=\""+data+"\" hidden=\"true\" autostart=\"true\"loop=\"false\" />";
}
});
}
我认为<?php
require('./wp-blog-header.php');
if(isset($_GET['getSound'])) {
$file='wp-content/uploads/2015/wav/' . get_the_title() . '.wav';
echo $file;
}
?>
是正确的电话,但此时我不太确定。我已经尝试了所有其他呼叫功能,但仍然没有运气。我假设在这一点上与页面加载和存储初始帖子标题有关,但我现在只是迷失了。
答案 0 :(得分:0)
更改sound.php文件代码,如
<?php
require('./wp-blog-header.php');
global $post;
setup_postdata( $post );
if(isset($_GET['getSound'])) {
$file='wp-content/uploads/2015/wav/' . get_the_title( get_the_ID() ) . '.wav';
echo $file;
}
?>
答案 1 :(得分:0)
您可以简单地获取第二个PHP代码并使用javascript:
function playSound() {
document.getElementById("dummy").innerHTML= "<embed src='wp-content/uploads/2015/wav/<?php echo get_the_title( get_the_ID() ) ?>.wav' />";
}
答案 2 :(得分:0)
<?php
$sound_query = new WP_Query();
if ($sound_query->have_posts()):
while ($sound_query->have_posts()):
$sound_query->the_post();
?>
<script>
function playSound() {
document.getElementById("dummy").innerHTML= "<embed src='wp-content/uploads/2015/wav/<?php echo get_the_title() ?>.wav' />";
}
</script>
<?php
endwhile;
endif;
wp_reset_postdata();
?>
答案 3 :(得分:0)
一切都是脱节的。 JS文件不知道你试图定位的帖子,因此sound.php文件也不知道。
将帖子ID传递给JS文件,然后将其传递给sound.php文件,然后从中提取帖子。
此外,请尝试不使用帖子标题,使用ID作为帖子标题,并且可以更改帖子名称。
示例:
HTML
<a class="playSound" onclick="playSound(<?php echo $post->ID; ?>);" href="#">
<i class="fa fa-volume-up"></i>
</a>
JS
function playSound(postID) {
$.ajax({
url: 'sound.php',
data: data: {"postID": postID
type: "GET",
datatype: "html",
success: function(data) {
//Function here
})
}
PHP
if(isset($_GET['postID'])) {
$file='wp-content/uploads/2015/wav/' . $_GET['postID'] . '.wav';
echo $file;
}
或类似的东西。