在wordpress上使用jquery动态插入的锚标签不起作用

时间:2015-05-28 16:02:35

标签: jquery html wordpress permalinks

我有这段代码:

$(".div-img").each(function() {

        var maxHeight = 700;
        var imgHeight = $(this).height();

        if (imgHeight > maxHeight) {
            $(this).append('<a href="<?php echo the_permalink();?>" class="view-full-content view-content external-link fa-external-link-square">View Full Content<span class="crop"></span></a>').find(".cropping-a").css({
                'max-height': '500px',
                'overflow': 'hidden',
                'display': 'block'
            });
        }

    });

这段代码在div之后插入一个锚标签如果条件为真,一切正常,但href部分,当我尝试点击插入的锚标签时,它会将我发送到带有此网址的页面{{1} },我已经尝试使用变量但仍无效:

<?php%20echo%20the_permalink();?>

1 个答案:

答案 0 :(得分:0)

一个php标签只有在.php页面内才会被转换,因为php被服务器转换成html,而服务器只转换php文件中的php代码。只需将<script>标记内的代码放在php文件中,或将文件扩展名更改为php并将脚本放在<script>标记内,并使用include包含该文件。

<强>答案:

方法1

将您网页的扩展名从.js更改为.php。然后在脚本标记中添加javascript。

您的.php(.js文件已更改为.php文件)文件应如下所示:

<script type="text/javascript"> //Text Javascript is not neccessary but it's for some downgraded browsers which have not html5 support
$(".div-img").each(function() {

    var maxHeight = 700;
    var imgHeight = $(this).height();

    if (imgHeight > maxHeight) {
        $(this).append('<a href="<?php echo the_permalink();?>" class="view-full-content view-content external-link fa-external-link-square">View Full Content<span class="crop"></span></a>').find(".cropping-a").css({
            'max-height': '500px',
            'overflow': 'hidden',
            'display': 'block'
        });
    }

});
</script>

然后将php页面插入另一个php页面使用includerequirerequire_once

示例:

<?php include'path/filename.php';?> // Using Include
<?php require'path/filename.php';?> // Using Require
<?php require_once''path/filename.php';?> // Using require once

何时使用include,require和require_once

require()功能与include()require_once()相同,只是它以不同方式处理错误。如果发生错误,include()函数会生成警告,但脚本将继续执行。 require()生成致命错误,脚本将在require_once()中停止 PHP将检查文件是否已被包含,如果已包含,则不再包含该文件。

方法二

将脚本复制到您希望它出现在<script>标签中的php页面所以您的php页面应如下所示:

<?php /* Php codes */ ?>
//Html stylings and tags
<script type="text/javascript"> //Text Javascript is not neccessary but it's for some downgraded browsers which have not html5 support
$(".div-img").each(function() {

    var maxHeight = 700;
    var imgHeight = $(this).height();

    if (imgHeight > maxHeight) {
        $(this).append('<a href="<?php echo the_permalink();?>" class="view-full-content view-content external-link fa-external-link-square">View Full Content<span class="crop"></span></a>').find(".cropping-a").css({
            'max-height': '500px',
            'overflow': 'hidden',
            'display': 'block'
        });
    }

});
</script>

您可以选择所需的最佳方法,但我建议使用方法二,因为它会降低页面加载时间。