- Status
- Aberto
- Plugin/tema relacionado
- Header Footer Code Manager
- Tags de tópico
- Compatibility
Visão geral do problema
Ao usar o plugin Header Footer Code Manager para inserir snippets em páginas específicas, as condições de exibição não são aplicadas corretamente às páginas traduzidas ao usar o WPML. Isso resulta em snippets ausentes nas versões traduzidas das páginas.
Solução alternativa
Por favor, certifique-se de ter um backup completo do site antes de prosseguir.
- Abra o arquivo …/wp-content/plugins/header-footer-code-manager/99robots-header-footer-code-manager.php
- Procure a linha 550.
- Substitua:
case 's_pages': $is_not_empty_s_pages = self::hfcm_not_empty( $scriptdata, 's_pages' ); if ( $is_not_empty_s_pages ) { // Gets the page ID of the blog page $blog_page = get_option( 'page_for_posts' ); // Checks if the blog page is present in the array of selected pages if ( in_array( $blog_page, json_decode( $scriptdata->s_pages ) ) ) { if ( is_page( json_decode( $scriptdata->s_pages ) ) || (!is_front_page() && is_home()) ) { $out = self::hfcm_render_snippet( $scriptdata ); } } elseif ( is_page( json_decode( $scriptdata->s_pages ) ) ) { $out = self::hfcm_render_snippet( $scriptdata ); } } break;
- Por:
case 's_pages': $is_not_empty_s_pages = self::hfcm_not_empty( $scriptdata, 's_pages' ); if ( $is_not_empty_s_pages ) { // WPML workaround for compsupp-7802 $original_ids = json_decode( $scriptdata->s_pages); foreach ( $original_ids as $original_id ) { $translated_ids[] = apply_filters( 'wpml_object_id', $original_id, 'page'); } // Gets the page ID of the blog page $blog_page = get_option( 'page_for_posts' ); // Checks if the blog page is present in the array of selected pages if ( in_array( $blog_page, json_decode( $scriptdata->s_pages ) ) ) { if ( is_page( $translated_ids ) || (!is_front_page() && is_home()) ) { $out = self::hfcm_render_snippet( $scriptdata ); } } elseif ( is_page( $translated_ids ) ) { $out = self::hfcm_render_snippet( $scriptdata ); } } break;