WordPress上的PHP - 如果链接包含ID "124"运行此.js文件



我在本地服务器上使用WordPress。要执行重定向后,用户已完成与插件联系表单7我希望他被重定向到一个特定的页面。

我尝试了一个插件,我发现,但它不工作,网站崩溃。

我想这样:

  • 用户进入ID为2的页面。一旦联系人表单完成,点击发送将调用文件home . it.js。
  • 用户进入ID为96的页面。填写完联系人表单后,单击send将调用文件home-de.js等。

我尝试了这个PHP代码,但它没有工作:

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];

if (strpos($url,'2') !== false) { 
?> <script type="text/javascript" src="home-it.js"></script> <?php
} elseif (strpos($url,'124') !== false) {
?> <script> type="text/javascript" src"home-fr.js"></script> <?php
} elseif (strpos($url,'96') !== false) {
?> <script type="text/javascript" src="home-de.js"></script> <?php
} elseif (strpos($url,'82') !== false) {
?> <script type="text/javascript" src="home-en.js"></script> <?php
}

如果我把JS文件放在页面上,它可以完美地工作。但是hoh系统可以识别页面ID。

你能帮我吗?非常感谢,帕斯卡

Contact Form 7提供了几种类型的自定义DOM事件。您可以利用JavaScript代码中的事件在特定情况下运行函数。

在您的情况下,您可能想尝试wpcf7submit自定义DOM事件:

var wpcf7Elm = document.querySelector( '.wpcf7' );

wpcf7Elm.addEventListener( 'wpcf7submit', function( event ) {
alert( "Fire!" );
}, false );

有关CF7活动的更多信息:https://contactform7.com/dom-events/

另外,关于你的代码-这不是一个好的做法,在URL中搜索ID:考虑一种非常可能的情况,当您有id为96和196的页面时,您的代码将同时运行这两个页面,因为您正在搜索96

另一种选择是使用原生WordPress函数get_the_ID()来检索当前项目的ID(见这里:https://developer.wordpress.org/reference/functions/get_the_id/)

也许试试:

<?php
$post_id = get_the_ID();
if ($post_id == 2) { 
?> <script type="text/javascript" src="home-it.js"></script> <?php
} elseif { ... }
?>

感谢您的回复。谁设置我wordpress和apache有问题,现在不再识别id。意思是:如果我使用你的公式或告诉wordpress使用永久链接,它不会工作。

为此,我需要能够解析链接并相应地重定向

最新更新