我正在尝试进行add_action调用,但仅限于包含特定插件短代码的页面。
目前我在所有页面上获取它,而不仅仅是在我需要的页面上。
/jenkins
答案 0 :(得分:1)
尝试以下代码
class SomePlugin {
public function __construct() {
add_action('wp_head', array($this, 'addMetatags'));
}
public function addMetatags() {
if ( is_page( 'about-me' ) ) {
echo '<meta property="og:type" content="article">';
}
}
}
$SomePlugin = new SomePlugin();
答案 1 :(得分:0)
只需使用shortcode_exists函数。
<?php
add_action('init','prefix_check_short_code');
function prefix_check_short_code() {
if ( shortcode_exists( 'your_short_code' ) ) {
$SomePlugin = new SomePlugin();
}
}
?>
将此代码用于主题函数或主插件文件。
wordpress网站上的功能URL是: https://codex.wordpress.org/Function_Reference/shortcode_exists
答案 2 :(得分:0)
经过一番挖掘后,我找到了最好的(通用)解决方案:
class somePluginClass {
public function __construct()
{
add_action('wp_head', array(&$this, 'renderTags'));
}
public function renderTags() {
global $post;
if (has_shortcode($post->post_content, self::SHORT_CODE)) {
echo '<meta property="[some-property]" content="[content]" />';
}
}
}