El widget Cart de Woocommerce no muestra contenido

Agregué el Widget Cart de woocommerce a mi barra lateral y debido a una cierta personalización del comportamiento del woocommerce y el tema, agregué esta línea de código a mis themes functions.php:

remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 ); 

Cuando esta línea está activa, no se muestran los contenidos del carrito, solo el título del widget. Cuando comento esta línea, los artículos en el carro se muestran en la página de productos individuales y en la página de la tienda. Ver marcado:

  

Como puede ver, se muestran todos los productos y también aparecen los botones. Sin embargo, no se muestran en todas las otras páginas. En esas páginas solo aparece el título del widget. en esas páginas, el marcado se ve así:

  

Las preguntas que tengo son: ¿Por qué la línea de código remove_action interfiere con el contenido del widget de carrito? ¿Por qué la div class="widget_shopping_cart_content"> vacía en las otras páginas, sin importar si la línea remove_action está comentada o no?

Descubrí que tiene algo que ver con mi personalización. Cuando uso el tema estándar de los veintiocho (en wicht mi hijo tema es comstackción) funciona bien.

EDITAR

Por supuesto, me estoy buscando y pude reducirlo más. La causa está en esta función en function.php de mi tema, pero no sé qué está mal con eso y qué debo hacer al respecto.

 function twentytwelve_child_masonry() { if (!is_admin()) { wp_enqueue_script('masonry'); add_action('wp_footer', 'twentytwelve_child_add_masonry'); function twentytwelve_child_add_masonry() { ?>  (function( $ ) { "use strict"; $(function() { //set the container that Masonry will be inside of in a var var container = document.querySelector('.products'); //create empty var msnry var msnry; // initialize Masonry after all images have loaded imagesLoaded( container, function() { msnry = new Masonry( container, { itemSelector: '.product', isAnimated: true }); }); }); }(jQuery));  <?php } } } add_action('init', 'twentytwelve_child_masonry'); 

Me estoy tirando de los pelos … Trataré por una semana para resolver este problema. ¿¡Por favor ayuda!?

EDIT 2

Recibí este mensaje cuando bash depurar el proyecto:

 TypeError: 'null' is not an object (evaluating 'a.length') (15:45:27:306 | error, javascript) at f (http://localhost/wp-includes/js/masonry.min.js?ver=3.1.2:1:28901) at g (http://localhost/wp-includes/js/masonry.min.js?ver=3.1.2:1:29105) at g (http://localhost/wp-includes/js/masonry.min.js?ver=3.1.2:1:29031) at (anonymous function) (http://localhost/?product=happy-ninja:262:40) at j (http://localhost/wp-includes/js/jquery/jquery.js?ver=1.11.1:2:27248) at fireWith (http://localhost/wp-includes/js/jquery/jquery.js?ver=1.11.1:2:28057) at ready (http://localhost/wp-includes/js/jquery/jquery.js?ver=1.11.1:2:29901) at J (http://localhost/wp-includes/js/jquery/jquery.js?ver=1.11.1:2:30261) > 

El problema probablemente radica en su función de albañilería y no en el widget en sí. El widget de carrito WC predeterminado crea solo un div vacío para el widget; luego usa JS para insertar los productos. Es muy probable que el JS de mampostería que muestra esté causando algún tipo de error que impida que funcione el JS de WC. Es por eso que cuando deshabilita su secuencia de comandos, el widget funciona bien. Debe verificar su consola en busca de errores JS que encuentre y corregirlos.