我已经看到多种方法来计算文件下载链接的点击次数。 到目前为止可行的选项是使用json文件来存储数据;但是我有问题是能够单独提取数据,因为我需要根据当前页面显示数据,该页面具有唯一的ID。
这是我第一次使用json文件,到目前为止它已经很复杂了,我希望我能提供帮助。
HTML数据:
<a class="MxDownload" data-nameplugin="File-<?php the_ID(); ?>" href="<?php echo $file_down; ?>" title="<?php echo __('Download the ', 'cyberdocentes'); ?><?php the_title(); ?>" download><?php echo __('Download the ', 'cyberdocentes'); ?><?php the_title(); ?></a>
JSON数据文件(是外部文件):
{"File-262":{"countDownloads":4},"File-260":{"countDownloads":2}}
这是我的PHP代码:
<?php
global $down_id;
$data = file_get_contents (''. get_stylesheet_directory_uri() .'/scripts/dataDownloads.json');
$json = json_decode($data, true);
$down_id = 'File-'. get_the_ID() .''; //This is unique ID for the URL
foreach ($json as $key => $value) {
if (!is_array($value)) {
echo '<pre>' . $val . '</pre>';
} else {
foreach ($value as $key => $val) {
$count_down = $json[$down_id]['countDownloads'][0][$val];
echo "Descargas: ". $val ."<br />";
}
}
}
?>
打印数据为:
Descargas: 4
Descargas: 2
我想只获取与当前链接ID相关的数据。 谢谢
答案 0 :(得分:0)
你应该这样做
foreach($json as $key=>$value)
{
// check whether your $key is similar to your fileid
if($key==$down_id)
{
if(is_array($value))
{
// now your $val holds the download numbers
foreach ($value as $key => $val) {
echo "Descargas: ". $val ."<br />";
}
}
}
}