-
AuthorPosts
-
February 6, 2015 at 11:05 am #391904
Hello, I have aproximately 300 items of portfolio with AJAX view, and now i want to add share buttons to single-portfolio, but it isn’t a page if I add information in textarea to see it for AJAX, how can i do to have single pages to item-portfolio and can add share buttons?
Thanks
- This topic was modified 9 years, 10 months ago by aquihaydominios.
February 7, 2015 at 9:56 am #392428Hey!
That feature is not available at the moment, if you really need it you would have to contact a developer from Envato Studio or Codeable
Also, feel free to request it here as a new feature.
Best regards,
JosueFebruary 7, 2015 at 10:03 pm #392580But… do you think i can do it? I can edit code, but i need some help please… Can i replace replace textarea of single.php with content of fields of ajax? i don’t know if i am telling things as i am thinking… sorry for my bad english.
February 8, 2015 at 3:59 am #392614Hola,
Si, es posible implementarlo pero como te decía requiere un poco de trabajo, lo que habría que editar seria /enfold/config-templatebuilder/avia-shortcodes/portfolio.php, alrededor de las lineas 723-725:
$output .= "<div class='entry-content-wrapper entry-content' ".avia_markup_helper(array('context' => 'entry_content','echo'=>false, 'id'=>$id, 'custom_markup'=>$this->atts['custom_markup'])).">"; $output .= $content; $output .= "AQUI IRIAN LOS SHARE LINKS, FIJATE QUE TIENES ACCESO AL ID DEL POST ($id)"; $output .= "</div>";
Inicialmente intente poner la función nativa de share links de Enfold (avia_social_share_links) allí pero no funciono debido a que esta aun no soporta pasarle un $id especifico como parámetro, ósea se compartía el contenido de la pagina donde esta el portfolio y no del single portfolio abierto en ese momento.
Dicho esto, lo que te recomendaría es investigar por una opción de terceros (un plugin de share links), uno que te permita invocarlo via función PHP (o shortcode), pero sobre todo que te permita pasarle el $id del post a compartir.
Saludos
JosueFebruary 14, 2015 at 5:30 pm #396165Hola Josue!
Qué bien que hables español!
Ok, voy a hacerlo, pero me gustaría hacerlo en un tema hijo (child theme). Así en un futuro podré actualizar el theme.
Ya lo tengo dentro de la carpeta /themes, pero tengo la duda de si al seleccionarlo en Apariencia -> Temas voy a tener que configurar todos los widgets de nuevo.
¿Es así? ¿Hay alguna forma de no tener que configurarlo todo de nuevo?
Gracias!
February 14, 2015 at 6:03 pm #396177Lo he probado exportando la configuración del theme, e importando en las opciones del tema hijo, pero me coge solo algunas cosas, como por ejemplo el logo. No me coge los widgets correctamente, ni los colores… Tendré que hacerlo manualmente ¿verdad?
February 14, 2015 at 10:21 pm #396217Hola,
Si, eso es una limitación, los Widgets asi como los Menus se tienen que re-configurar cada vez que se cambia de theme.
Sobre como tener un elemento ALB modificado en un child theme:
http://kriesi.at/documentation/enfold/add-new-or-replace-advanced-layout-builder-elements-from-child-theme/Saludos,
JosueFebruary 15, 2015 at 12:17 am #396244Hice esto:
Sobre como tener un elemento ALB modificado en un child theme:
Pero no lo consigo, cómo puedo modificar portfolio.php desde el childtheme?
- This reply was modified 9 years, 10 months ago by aquihaydominios.
February 15, 2015 at 1:04 am #396254Hola,
He hecho esto que me comentabas:
$output .= "<div class='entry-content-wrapper entry-content' ".avia_markup_helper(array('context' => 'entry_content','echo'=>false, 'id'=>$id, 'custom_markup'=>$this->atts['custom_markup'])).">"; $output .= $content; $output .= "AQUI IRIAN LOS SHARE LINKS, FIJATE QUE TIENES ACCESO AL ID DEL POST ($id)"; $output .= "</div>";
El problema es que si lo hago dentro del theme enfold, aparece el código de “AQUÍ IRÍAN LOS SHARE….”, pero si lo hago en enfold-child no.
He copiado la carpeta entera dentro del child theme:
/enfold-child/config-templatebuilder/avia-shortcodes/portfolio.php
¿Cómo puedo editar esas plantillas dentro del tema hijo? No quiero tocar el tema padre para poder actualizarlo siempre.
Y otra pregunta, también importante… Yo estoy usando esto para mostrar el contenido del post:
https://www.dropbox.com/s/52tj5rgwh1dzzod/Captura%20de%20pantalla%202015-02-14%2023.51.59.png?dl=0
No estoy usando el textarea normal de WordPress (ese está vacío):
https://www.dropbox.com/s/japvs9q0ogju2qw/Captura%20de%20pantalla%202015-02-14%2023.52.20.png?dl=0
Supongo que a eso te refieres cuando dices que no me va a funcionar, porque lo que se compartiría sería el single, donde solo aparece la imagen destacada:
Me dices que haga lo siguiente:
Dicho esto, lo que te recomendaría es investigar por una opción de terceros (un plugin de share links), uno que te permita invocarlo via función PHP (o shortcode), pero sobre todo que te permita pasarle el $id del post a compartir.
Pero no entiendo bien qué es lo que debo hacer. Porque no sé bien cómo se consigue un link a un post específico, ¿cuál es la url que se compartiría para que se vea el post?
Mi sugerencia es la siguiente:
¿No sería más fácil pasar el contenido del textarea del ajax (el de la parte inferior) al textarea de siempre de WordPress? ¿Se podría hacer de alguna forma que lo que tengo ahora se pueda pasar para que se vea a single? No sé si me estoy explicando correctamente, pero creo que esta sería la mejor solución. Pero tengo muchísimos posts, por lo tanto, creo que se debería de hacer en base de datos, de forma masiva.
Ejemplo:
http://www.arcasevilla.es/portfolio-item/junior/
Lo hice con una plantilla: https://www.dropbox.com/s/jg8aki48qyc1jto/Captura%20de%20pantalla%202015-02-14%2023.59.52.png?dl=0Pero ahora mismo, está vacío. ¿cómo pasar la información actual al textarea de wordpress? Sé que es un poco complicado, pero para mí, es la mejor solución. Es lo que me gustaría hacer.
¿Me puedes ayudar a hacerlo por favor?
Gracias.
February 15, 2015 at 9:53 am #396298Hola,
¿Tienes este código en el functions.php del child theme?
<?php add_filter('avia_load_shortcodes', 'avia_include_shortcode_template', 15, 1); function avia_include_shortcode_template($paths) { $template_url = get_stylesheet_directory(); array_unshift($paths, $template_url.'/shortcodes/'); return $paths; }
A lo que me refería con lo que no iba a funcionar era a los share links de Enfold, por eso consideré que seria mejor usar un plugin, sobre lo del contenido no creo que sea necesario pasarlo al contenido normal si es que siempre se vas a mostrarlo via Ajax y no directamente (cuando se comparte un post el contenido no se toma en cuenta, solo el titulo, el link y la imagen para mostrar).
Saludos,
JosueFebruary 15, 2015 at 5:40 pm #396423Vale, ahora sí!
Había cometido un error.Ahora yo tengo el ID:
https://www.dropbox.com/s/ex78xarj51x2wv1/Captura%20de%20pantalla%202015-02-15%2016.34.39.png?dl=0Pero no sé muy bien cómo hacerlo… ¿Me recomiendas algún plugin que haga eso? Y cuando yo comparta el post en una red social, si una persona hace clic en esa publicación, ¿dónde va? ¿se abre la página de portfolio con ese post abierto?
Siento hacer tantas preguntas, pero es que no sé muy bien cómo seguir….
February 15, 2015 at 6:51 pm #396449Pues si, tienes razón en eso, cuando le den clic se van a ir a la publicación individual y solo verán la imagen, sin embargo hay una forma de hacer que el contenido Ajax aparezca allí de forma automatica:
1. Copia los siguientes archivos al child theme:
- single-portfolio.php
- includes/loop-portfolio-single.php
2. Abre loop-portfolio-single.php (en el child theme) y reemplaza todo el contenido por esto.
Sobre los share links me parece que Shareaholic podría funcionar, instálalo y en la linea 725 de portfolio.php pon:
$output .= do_shortcode('[shareaholic app="share_buttons" link="'.$link.'" title="'.$entry->post_title.'"]');
Saludos,
JosueFebruary 15, 2015 at 6:56 pm #396450Eso sería fantástico. Estoy en ello.
Supongo que tengo que crear también la carpeta /includes y meter dentro loop-portfolio-single.php ¿verdad?
Voy a hacerlo con Shareaholic, pero crees que podría funcionar con los botones de Jetpack?
Estoy muy contenta con el soporte que ofrecéis. Nunca he recibido tan buena atención y he comprado muchísimos themes en Themeforest… No dudes que pondré 5 estrellas en mi valoración!
February 15, 2015 at 7:04 pm #396451¿El contenido lo pongo en loop-portfolio-single.php o en single-portfolio.php? Así, como dices no ha funcionado.
February 15, 2015 at 7:32 pm #396454El contenido del Gist debe ir en includes/loop-portfolio-single.php y si, tienes que replicar la misma estructura. Sobre lo de hacerlo con los botones de Jetpack no creo que sea posible, ya que hasta donde se no se pueden insertar via shortcode.
Saludos,
JosueFebruary 16, 2015 at 12:12 am #396490Vale, ahora ya veo los botones:
https://www.dropbox.com/s/t7ese031i47ytzk/Captura%20de%20pantalla%202015-02-15%2023.09.39.png?dl=0
Pero cuando pulso un botón, la URL que se comparte es esta:
http://www.arcasevilla.es/portfolio-item/miracle/Y aparece vacío…
¿No tengo que hacer nada en single-portfolio.php?
February 16, 2015 at 12:54 am #396495Creo que se me ha ocurrido una buena solución… Pero no sé si es fácil. Te cuento:
Imagina que:
Textarea WP: Es el de siempre, el normal.
Textarea Ajax: Es el que tengo ahora configurado.Si (Textarea WP está vacío) -> muestra Textarea Ajax cuando hago clic en el item de portfolio.
Si (Textarea WP no está vacío) -> muestra Textarea WP cuando hago clic en el item de portfolio.No me importa que los posts antiguos no tengan los botones, pero al menos me gustaría que los nuevos posts sí. Esto sería una alternativa a lo de pasar todo el contenido. Porque realmente, lo que más me gusta es la solución de tenerlo en su propia página, sin AJAX:
http://www.arcasevilla.es/portfolio-item/freya/
Y por último, la peor solución, sería hacerlo manualmente con 314 entradas…
¿Qué opinas?
February 16, 2015 at 1:21 am #396496Por cierto, cuando hice esto:
2. Abre loop-portfolio-single.php (en el child theme) y reemplaza todo el contenido por esto.
Los botones dejaron de funcionar.
February 16, 2015 at 2:04 am #396499Pásame un admin y una cuenta FTP (ponlo en respuesta privada).
February 16, 2015 at 2:21 am #396501This reply has been marked as private.February 16, 2015 at 3:40 am #396511Ya, chequealo ahora. Modifique includes/loop-portfolio-single.php, puse una condicional para que si existe contenido normal lo muestre, de lo contrario que muestre el contenido Ajax, también añadí los share links de Shareaholic en ambos casos.
February 16, 2015 at 12:50 pm #396655Muy bien!!!! Era justo lo que quería!!! Muchísimas gracias.
Ahora mi intención es ir escribiendo en el textarea WP y dejar en blanco el de Ajax.
Tengo un par de dudas:
1) ¿Cuál es el archivo que tengo que tocar para modificar esto?
http://www.arcasevilla.es/portfolio-item/pueblo/
2) ¿Cómo añadir ahí los botones para compartir? Supongo que cuando me respondas la pregunta 1) sabré como hacer esto!
Gracias!!!!!
February 16, 2015 at 4:42 pm #396795Hola,
Lo que pasa es que en ese portfolio item esta activado el Editor Avia de Plantillas, por eso no salen los botones de forma automatica, añade esto a functions.php del child theme:
add_filter('avf_template_builder_content', 'avia_add_social_toolbar_template_builder', 10, 1); function avia_add_social_toolbar_template_builder($content = "") { if(is_singular('portfolio')){ $content .= do_shortcode('[shareaholic app="share_buttons"]'); } return $content; }
Eso hará que los botones salgan después del contenido de cada portfolio item (con ALB activado), si quieres tener mas control de donde salen tendrías que hacerlo manualmente en el editor mismo – http://screencast.com/t/xtwZkVzfaxQR
Saludos,
JosueFebruary 16, 2015 at 4:58 pm #396807Pues perfecto!
Está como yo quiero, es la mejor solución!
Podemos cerrar esto y si tengo alguna duda más del tema Enfold, abro otro tema ¿no?
Muchísimas gracias!
February 16, 2015 at 5:07 pm #396818Si, paso a cerrar el tema, un gusto poder ayudado :)
Saludos,
Josue -
AuthorPosts
- The topic ‘Share buttons in single AJAX’ is closed to new replies.