天啊,我试图通过PHP将Ajax Availability Calendar集成到WordPress网站。
我设置了多个日历,需要在每个属性页上显示不同的日历。
我遇到的问题是我需要能够指定ID,例如模板中$_GET["id_item"]=2
语句之前的日历<?php require_once 'pathtofile' ?>
。
我需要达到的结果是......
<?php $_GET["id_item"]=2; require_once 'path\to\required.file'; ?>
如果我将此代码放入具有相应ID的模板中,则可以使用,但我需要在每个页面上更改ID号,否则我将始终显示ID为2的日历。
我目前有自定义短代码(下面),我可以在其中指定页面内容中的ID,但我不知道如何在模板中的语句之前访问该ID 。
所以我现在拥有的是......
在Functions.php中
function ajaxcalendar_shortcode($atts) {
$args = shortcode_atts(
array(
'id_item' => 1
),
$atts
);
return '<?php $_GET["id_item"]='.$id_item.'; ?>';
}
add_shortcode('cal_display', 'ajaxcalendar_shortcode');
在内容中使用短代码 [cal_display id_item = "2"]
。
甚至可以这样做,还是应该尝试其他方法?
我的研究表明,我可以使用do_shortcode()
来实现这一目标,但我还没有弄清楚如何在这种情况下使用它,或者我可能会误解它的目的。
我已尝试将此放入页面模板文件中
<?php $content = the_content(); echo do_shortcode($the_content); ?>
<?php require_once 'C:\xampp\htdocs\MooreRiver\availability\ac-includes\cal.inc.php'; ?>
但它继续显示ID为1的日历。
任何提示将不胜感激:)