当我在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很陌生。
答案 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