将变量添加到页面 - wordpress

时间:2015-10-16 08:47:37

标签: javascript php wordpress

当我在Wordpress中创建页面时,这些页面上的号召性用语链接始终具有相同的URL。我希望能够对这个变量进行全球化,但我很难找到一个好方法。

如果我制作简单的PHP页面,我可以简单地包括例如。

$URLpath = "http://example.com/my/page";

然后在html中调用它:

<a href="<?=$URLpath?>">Call to action</a>

显然我无法在Wordpress CMS中执行此操作,因为它呈现为<?=$URLpath?>

我可以添加<a href="#MyVariable#">Call to action</a>并在页面加载后使用javascript替换整个html块替换,但是这样做效率并不高。

有更好的方法吗?我对Wordpress很陌生。

2 个答案:

答案 0 :(得分:1)

在WordPress中执行此操作的好方法是使用他们的wp_localize_script()

functions.php 文件中,您可以使用:

-Modules
 -Common
  -Services
   -RouterService.php

在JavaScript中,您只需调用变量// For sake of example I will put your data inside an array, // but you can set a single value. $dataForJS = array( $URLPath => "http://example.com/my/page" ); // wp_localize_script() takes 3 parameters: // 1. Name of the registered script, this is the name you used in wp_register_script() // here I am naming it "main" but it can be anything. // 2. Name of the variable. // This name is then available in your JS and will contain your data. // 3. The data you want to pass, it can be a single value or array wp_localize_script( 'main', 'd', $dataForJS ); 即可访问此数据。

这样做的目的是,如果页面请求&#34; main&#34;脚本,WordPress将在其中添加一个d标记及其数据,并确保它被放置在您的&#34; main&#34;之前。脚本运行。

答案 1 :(得分:1)

你可以在你的functions.php文件中添加一个打印你的cta的短代码,或者更好地创建一个带有一些管理这个链接的参数的插件。

例如在functions.php中你可以添加

function cta_func( $atts ){
   $URLpath = "http://example.com/my/page";       
   return '<a href="'.$URLpath.'">Call to action</a>';
}
add_shortcode( 'cta', 'cta_func' );

在您的页面/帖子中,您只需编写此短代码即可。

...
[cta]
...

关于短代码的更多信息在codex的参考文献中 https://codex.wordpress.org/Shortcode_API