2016-06-15 29 views
1

Wordpress Yoast SEOを別のプラグインと競合しているため、単一ページで無効にしようとしています。Wordpress Yoast SEOをシングルページで無効にする

私はのfunctions.phpにこのコードを追加し、このStackOverflow question次試してみました:上記動作しませんでしたので、私はその後、this post渡って走り、以下のように変更しようとした、その

add_action('template_redirect','remove_wpseo'); 

function remove_wpseo(){ 
    if (is_page(944)) { 
     global $wpseo_front; 
     remove_action('wp_head', array($wpseo_front, 'head'), 2); // <-- check priority 
    } 
} 

コースで500エラーが発生しました。

add_action('template_redirect','remove_wpseo'); 

function remove_wpseo(){ 
    if (is_page(5526)) { 
    global WPSEO_Frontend::get_instance() 
    remove_action('wp_head', array(WPSEO_Frontend::get_instance(), 'head'), 2); // <-- check priority 
    } 
} 

Yoast SEOを1ページで無効にする方法については、どのようなアイデアがありますか? functions.phpまたは他の場所からこれを行う必要がありますか?私は近くにいると思うが、そこにはあまりない。

+0

"もちろん" 500エラーが発生しましたか?エラーは何ですか?私は 'グローバルWPSEO_Frontend :: get_instance()'が有効な構文ではないと思っています。 – ceejayoz

+0

具体的なエラーはわかりませんが、Chromeはサーバーが到達不能であると言っていました。しかし、ええ、おそらく構文の問題。 – Dodinas

+1

500エラーが発生した場合は、サーバーのログで詳細を調べる必要があります。 – ceejayoz

答えて

3

さて、私が間違っていたことを理解しました。ここに修正コードがあります:

add_action('template_redirect','remove_wpseo'); 

function remove_wpseo(){ 
    if (is_page(5526)) { 
     global $wpseo_front; 
      if(defined($wpseo_front)){ 
       remove_action('wp_head',array($wpseo_front,'head'),1); 
      } 
      else { 
       $wp_thing = WPSEO_Frontend::get_instance(); 
       remove_action('wp_head',array($wp_thing,'head'),1); 
      } 
    } 
} 

ありがとう!

関連する問題