Autor Tema: Problema PHP: WooCommerce Sidebar función IF  (Leído 412 veces)

Desconectado Habbolippo

  • PHPer@ Fijo
  • ***
  • Mensajes: 159
  • Karma: 3
  • Sexo: Masculino
  • Locutor de radio, programador y desarrollador web.
    • Ver Perfil
    • Matías YA. (Yáñez Alarcón)
Problema PHP: WooCommerce Sidebar función IF
« en: 11 de Septiembre de 2017, 16:27:06 pm »

Primero que todo dar las gracias a todos los que puedan ayudarme con un trocito de código que he podido modificarlo a mi antojo, PERO HAY UN FALLO. Os resumo:
-El tema que uso es 100% compatible con WooCommerce, sólo quiero cambiar el orden del sidebar que es moviendo un div y ya está (teóricamente en HTML es así de sencillo), pero este div aparece sólo cuando se necesita y hace uso de la función IF.
-El problema es que en la versión móvil el sidebar sale al final, quiere decir que salen primero los productos, por lo tanto la experiencia de usuario es mala; el usuario tiene que bajar al final de la pagina para controlar el menú de woocommerce y aplicar filtros.
-Conseguí poner el sidebar primero y en el móvil se ve genial pero pierde la función IF (porque no se usarla o no se cerrar la sintaxis). Quiere decir que el sidebar aparece aun que no se necesite.


Adjunto código original del tema:
Código: [Seleccionar]
    function ascend_woo_main_wrap_content_open() {
      echo '<div id="content" class="container"><div class="row"><div class="main '.esc_attr(ascend_main_class()).'" role="main">';
    }
    add_action( 'woocommerce_before_main_content', 'ascend_woo_main_wrap_content_open', 10 );
   
    function ascend_woo_loop_top() {
      echo '<div class="kad-shop-top">';
echo '<div class="kad-top-top-item kad-woo-results-count">';
woocommerce_result_count();
echo '<>';
echo '<div class="kad-top-top-item kad-woo-ordering">';
woocommerce_catalog_ordering();
echo '<>';
echo '<>';
    }
    add_action( 'woocommerce_before_shop_loop', 'ascend_woo_loop_top', 10 );


    function ascend_woo_main_wrap_content_close() {
      echo '<>';
if (ascend_display_sidebar()) :
      get_sidebar();
    endif;
    echo '<><>';
    }




Adjunto mi código modificado, funciona pero el IF no, ya que no se usarlo bien:
Código: [Seleccionar]

    function ascend_woo_main_wrap_content_open() {

      echo '<div id="content" class="container"> <div class="row">';
echo get_sidebar();
echo '<div class="main '.esc_attr(ascend_main_class()).'" role="main">';
    }
    add_action( 'woocommerce_before_main_content', 'ascend_woo_main_wrap_content_open', 10 );
   
    function ascend_woo_loop_top() {
      echo '<div class="kad-shop-top">';
echo '<div class="kad-top-top-item kad-woo-results-count">';
woocommerce_result_count();
echo '<>';
echo '<div class="kad-top-top-item kad-woo-ordering">';
woocommerce_catalog_ordering();
echo '<>';
echo '<>';
    }
    add_action( 'woocommerce_before_shop_loop', 'ascend_woo_loop_top', 10 );


    function ascend_woo_main_wrap_content_close() {
      echo '<>';
if (ascend_display_sidebar()) :
      get_sidebar();
    endif;
    echo '<><>';
    }



Si os fijais controlo PHP lo justo como para mover el get_sidebar(); y dividir un poco el html para ajustarlo y queda perfecto pero pierde esa función llamada

if (ascend_display_sidebar()) :


que YO la interpreto como que cuando el tema (Ascend) quiere que aparezca pues aparece por lo tanto habrán paginas (plantillas) donde no hace falta mostrarlo.


Qué decis shurs? Estoy completamente seguro que es una tonteria siempre pasa, pero estoy en plan  >:( >:(




si no teneis idea mencionar a alguien que sepa de esto, TAMBIEN AYUDA!
Hago publicidades para radios, webs, etc...
Puedes ver mis demos en http://matiasya.com.nu/

Comunidad PHPeros

Problema PHP: WooCommerce Sidebar función IF
« en: 11 de Septiembre de 2017, 16:27:06 pm »