Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php div onclick不是';行不通_Php_Html_Wordpress - Fatal编程技术网

Php div onclick不是';行不通

Php div onclick不是';行不通,php,html,wordpress,Php,Html,Wordpress,我试图让我的滑块标题部分链接到wordpress网站上相应的文章url。我很确定我在插件代码中找到了我认为需要编辑的部分,但是当我尝试执行以下操作时: <?php echo "<div id='" . $sl_caption . "' class='nivo-html-caption'>" . $sl_htmlcaption . onclick="location.href='$url';"</div>"; 问题出在你的报价上。应该是: echo "<di

我试图让我的滑块标题部分链接到wordpress网站上相应的文章url。我很确定我在插件代码中找到了我认为需要编辑的部分,但是当我尝试执行以下操作时:

<?php 
echo "<div id='" . $sl_caption . "' class='nivo-html-caption'>" . $sl_htmlcaption . onclick="location.href='$url';"</div>";

问题出在你的报价上。应该是:

echo "<div id='" . $sl_caption . "' class='nivo-html-caption'>" . $sl_htmlcaption . "onclick=\"location.href='$url';\"</div>";

使用插值也可以让事情变得更简单。使用双引号分隔字符串时,可以使用大括号(
{}
)插入变量值,如下所示:

echo "<div id='{$sl_caption}' class='nivo-html-caption'onclick=\"location.href='{$url}';\">{$sl_htmlcaption}</div>";
echo“{$sl_htmloption}”;
这样,您只需打开和关闭字符串一次(在开始和结束处)

注意:

  • 不能直接插入函数调用。您可以像前面一样连接
    “”.strlen($x)。“

    或将结果存储在变量和插值中<代码>“{$result}

  • 不过,您仍然需要在字符串中转义双引号
    双引号的打开/关闭是错误的:在PHP中,字符串必须用引号或双引号括起来;如果要在双引号括起来的字符串中加双引号,必须用
    \
    对其进行转义

    例如,您需要在单击
    onclick
    之前打开引号或双引号,因为这是字符串的一部分

    此外,您的
    onclick
    应该位于
    标记内,而不是介于
    之间


    最后,您的PHP代码看起来有点像这样(我已经为变量设置了硬编码值,以帮助测试):

    $sl_标题='ID';
    $sl_htmloption='HTML';
    $url=“url”;
    回声“”
    . $sl_HTMLCATION
    . ""
    ;
    
    您将得到以下HTML作为输出:

    <div id='ID' class='nivo-html-caption' onclick="location.href='URL'" >HTML</div>
    
    HTML
    
    字符串引号的位置不正确。试试这个

    echo "<div id='" . $sl_caption . "' class='nivo-html-caption'>" . $sl_htmlcaption . "onclick=\"location.href='$url';\"</div>";
    
    echo”“$sl_Html选项。“onclick=\”location.href='$url'\"";
    
    问题在于它所说的“onclick”在您的示例中不是带引号的字符串(
    t\u string
    在PHP中)。字符串中连接在一起的所有内容都需要是a)引号中的字符串(单引号或双引号),b)可以转换为字符串的内容,或者c)变量/常量/函数调用

    如果没有该错误,那么您当前的示例也会将“onclick”作为标记的内容,而不是标记上的属性。我想你想要的是:

    <?php 
     echo "<div id='" . $sl_caption . "' class='nivo-html-caption' onclick='location.href=\'"  . $url . "\''>" . $sl_htmlcaption . "</div>";
    ?>
    

    qoute不是唯一的问题。onclick也在div元素的属性之外。它必须是(更改单打的双打以使其更清晰):

    echo“”$sl_htmlcaption.';
    
    echo "<div id='" . $sl_caption . "' class='nivo-html-caption'>" . $sl_htmlcaption . "onclick=\"location.href='$url';\"</div>";
    
    <?php 
     echo "<div id='" . $sl_caption . "' class='nivo-html-caption' onclick='location.href=\'"  . $url . "\''>" . $sl_htmlcaption . "</div>";
    ?>
    
    <?php 
     echo '<div id="' . $sl_caption . '" class="nivo-html-caption" onclick="location.href='  . $url . '">' . $sl_htmlcaption . '</div>';
    ?>
    
    echo '<div id="' . $sl_caption . '" class="nivo-html-caption" onclick="location.href=' . $url . ';">' . $sl_htmlcaption . '</div>';