Hello
I really like the plugin and I’m testing the plugin in my project, but when I want to visualize the gallery and description, the screen that opens does not show all the description and shows a very large soft space at the top.
https://catalogo.osksolutions.net/proyectoluminaria/proyectos-demo3/
WordPress 4.9.6
Theme: Orfeo
Please tell me how I can modify this?
Where can I see all the shortcodes of the plugin?
Regards
Oliver
Thanks for this great plugin! Is it possible to have pagination?
]]>Is there any way to add the image title (or alt tag) to the lightbox? It would be good to be able to display this information.
]]>Hello,
I’m using the Sydney theme which got a built-in selection of google fonts.
The font that I select in the Sydney customizer for “Main-text” is used by waving portfolio for the move-over text of the fotos and for the description text in the box after you click on a foto. It is NOT used for the category buttons and for headline that shows in the box after clicking a foto. The “headline” font that I select in the customizer gets ignored by the plugin.
Is there a way to make the plugin change the headline that it uses in the pop-up-box? Ideally accepting the choice that I make in the customizer. And maybe also of the category buttons?
greets dosala
]]>Hello,
This very nice plugin and we are waiting for updated version of this plugin for wordpress 4.8.
So please updated this plugin.
Thanks
Aniket
When I go my site on mobile the waving portfolio causes a white space on the right side. It’s not resizing the portfolio image. I thought I had once that was specifically to wide so I fixed it but then another is too wide. Shouldn’t this be resizing automatically?
If not what is the best dimensions for featured image.
sheaffersmith.com
]]>HI Is there any shortcode for displaying latest three portfolios without category. Any help would beappreciated,Thanks
]]>In the editor, where can I change the code to put the categories list below the thumbnails instead of the top? When using Chrome’s inspect feature I can see the div with the class of “waving-wrap”. How do I move this below the “waving-dim” div? Thanks for your help.
]]>Congrats for the plugin. Is it possible to open an external website in a lightbox or a shadowbox using your plugin? Instead of open the link in a new tab? Thank you!
]]>Any addon to intergrate with buddypress?
So users can publish project at front end.
I am sure it is a huge market!
Alex
I’ve installed this plugin to create a portfolio’s area. I’ve pasted the code on a new page ([ waving {height=”xxx” or width=”xxx”} theme=”[light|dark]” all=”[false|true]”
showCat=”[true|false]” tag=”[string]” clicking=”[false|true]” /]) but, after publishing the new page, i can only see the name of the categories and some code’s line from the script pasted before.
I cannot see my items from portfolio,
can you help me please?
TY
]]>Hey I am currently in the process of creating a portfolio on my website and had heard that the waving plugin was a simple and easy way to do that. I am feeling pretty stupid right now as I am at a loss how to set it up. I have installed it successfully, created the portfolio items, tagged them and now I am trying to use the custom shortcode to actually activate the portfolio… and I have no idea what I’m doing.
I have created a new page for it, and am now trying to figure out where to paste the code I got. I have tried creating a new row and pasting the code into a text widget but that doesn’t work. Nothing shows up from that.
Can someone please be so kind to explain how I actually make the portfolio appear?
]]>Is there any way to change the sorting order in this plugin?
by title or name, for example… by default it uses “date” I think…
Thanks.
]]>Hi,
I was wondering around and found your amazing plug-in.
It was just what I was looking for.
But I got a small problem because I don’t know how the pop-up works.
after 3 hours of trying different options and looking up solutions, I really don’t know what to do!
So please can you help me solve this problem?
I would be so thankfull for this solution!
]]>Hi,
At the moment is not possible to click on the photos and download or save them.
I would like to give this possibility to the users.
Can you tell me how can I change the actual settings in order to give them this opportunity?
thanks Alessio
]]>When I activate the waving portfolio plugin my main menu disappears. When I deactivate, the menu comes back.
I’ve looked through a ton of portfolio plugins and this is the only only I have found with the features I need… except for this issue
]]>Hi,
I am using WordPress with GoDaddy as my host on a Windows Server using Plesk as my dashboard. I am running the latest version of WordPress and installed the latest version of your plugin.
The install works fine. After activating the plugin when I navigate to anywhere else on the site I get “500 Internal Server Error”. The only way to get back in is to rename the plugin directory so the plugin gets deactivated.
I tried this on a fresh install of WordPress on a subdomain with both the default Twenty Sixteen theme and copied over the Quark theme that I am using on my site where I first discovered this issue. On the test domain I have no additional plugins installed/activated.
Any help would be appreciated.
Thanks,
Devin
Hello!
I’m trying to obtain a masonry effect with no white space (or just a few px) between the thumbnails.
I’ve managed how to get it on left and right, but still have problems with the top and bottom of images.
I’m using some custom css for avoiding future upgrades issues.
This is a screenshot of what i get so far:
thank for your help
]]>Hi!
In every page that uses the waving portfolio there is a weird gallery at the bottom, beneath the footer (https://prueba.klancomunicacion.com/).
I tried deactivating the plugin and it dissapeared so I know the plugin caused it.
Is there a way to get rid of that?
]]>Hi there!
Your plugin seems great, however when I installed it, I noticed it uses a new custom post type and not the default posts.
The problem with this is that I’ve been working on a site which uses the default post types for my folio, since that’s all it is.. there’s no blog on this particular site.
Is there an easy way to utilize this plugin with some modifications to be used with the database I already have? Or would this be a major amount of work and not worth the effort?
Thanks!
Laura
images in portfolio are in different size. when i give height in shortcode then width of images are different. and when i give width in shortcode then height of images are different. its look very bad. what to do.please reply.
]]>Hi, your plugin sounded interesting but when I tried installing it, the error message came up “The plugin does not have a valid header.” Can you check it out?
Thanks.
Hello!
Can I disable Modal Window?
I want to see lightbox with gallery right after click on thumbnail of gallery.
Thank You for fast reply!
WBR, Vlad.
Hi there,
I’m trying out the waving portfolio theme and really liking it so far! But I’d like to modify the background colors of the category buttons to remove the hot-pink color when the category has been selected. It’s a little too loud for my site.
I have a very rudimentary knowledge of css, and have already been able to modify a few other portions of the plugin already, but I can’t seem to figure out how to change the background-color of your buttons this way. Is it possible to do via modifying the page css? If so, could you show me the code for it?
If not, is there a way you can set your default “light” theme to be a little more generic in color? Your pink and purple color palette will only match a handful of websites. Thank you!
]]>Lightbox not loading when I click on individual pictures inside project.
]]>Hello! Does anybody know how I could change the php-code of the waving portfolio so it shows a certain category (right at the beginning = on the first view)?
So – let′s say – my category called “Highlights” is preselected.
Right now the waving form plugin shows ALL elements (which is in my case too much and not relevant for my users).
My PHP knowledge is not good enough for this. But maybe the secret lies here?
// ========= Start: Print out categories ============
if(count($cat_lists)!=0){
$paramCustom = array("all" => $all,
"initialClass"=>$cat_lists[0]->term_id);
}else{
$paramCustom = array("all" => "1",
"initialClass"=>"0");
}
if($all == "true" && count($cat_lists)!=0)
{
$categoryMenu[] = '<button class="waving-button waving-button-'.$rand_index.' action-button shadow animate blue" onClick="ShowLists(\'all\',\''.$tagCondition.'\', this, '.$rand_index.')">All</button>';
}
Here′s the full plugin-code:
<?php
/**
* Plugin Name: Waving Portfolio
* Plugin URI: https://www.itechflare.com/
* Description: Free plugin with very slick design to professionally promote & present your job portfolio.
* Version: 1.2.4.5
* Author: Abdulrhman Elbuni
* Author URI: https://www.itechflare.com/
* Text Domain: wavingportfolio
* License: GPL-2.0+
* License URI: https://www.gnu.org/licenses/gpl-2.0.txt
* Domain Path: /languages
*/
// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
die;
}
define("WAVING_PORTFOLIO_VERSION", "1.2.4.5");
define("WAVING_PORTFOLIO_VERSION_SLUG", "waving_portfolio_version");
define("WAVING_PORTFOLIO_TEXT_DOMAIN", "waving-portfolio");
define('WAVING_PORTFOLIO_PLGUINURI',plugin_dir_path( __FILE__ ));
define('WAVING_PORTFOLIO_PLUGINURL',plugins_url( '',__FILE__));
// Required files for registering the post type and taxonomies.
require_once WAVING_PORTFOLIO_PLGUINURI . 'includes/waving-portfolio-type.php';
require_once WAVING_PORTFOLIO_PLGUINURI . 'includes/waving-portfolio-post-type-registrations.php';
require_once WAVING_PORTFOLIO_PLGUINURI . 'includes/cmb2/waving-meta.php';
require_once WAVING_PORTFOLIO_PLGUINURI . 'includes/waving-register-mce-buttons.php';
// Instantiate registration class, so we can add it as a dependency to main plugin class.
$portfolio_post_type_registrations = new Portfolio_Post_Type_Registrations;
// Instantiate main plugin file, so activation callback does not need to be static.
$waving_portfolio = new Waving_Portfolio_Type($portfolio_post_type_registrations);
// Register callback that is fired when the plugin is activated.
register_activation_hook( __FILE__, array( $waving_portfolio, 'activate' ) );
// Initialise registrations for post-activation requests.
$portfolio_post_type_registrations->init();
class Waving_Portfolio_Plugin
{
private $meta_prefix = "_waving_portfolio_";
private $post_type = "itech_portfolio";
public function __construct() {
// Init
add_action( 'init', array( $this, 'waving_portfolio_init' ) );
}
function waving_portfolio_init()
{
add_shortcode( 'waving', array( $this, 'waving_func'));
add_action( 'wp_enqueue_scripts', array( $this, 'load_frontend_libraries') );
add_filter( 'shortcode_atts_gallery', array( $this, 'waving_gallery_atts') , 10, 3 );
add_action( 'admin_enqueue_scripts', array($this,'waving_admin_enqueue') );
}
function upgrade_to_1_2()
{
global $wpdb;
// First update fix
$wpdb->update(
'wp_posts',
array(
'post_type' => 'itech_portfolio', // string
),
array( 'post_type' => 'portfolio' ),
array( '%s' ), // Formatting column
array( '%s' )
);
// Second update fix
$wpdb->update(
'wp_term_taxonomy',
array(
'taxonomy' => 'waving_portfolio_category', // string
),
array( 'taxonomy' => 'portfolio_category' ),
array( '%s' ), // Formatting column
array( '%s' )
);
// third update fix
$wpdb->update(
'wp_term_taxonomy',
array(
'taxonomy' => 'waving_portfolio_tag', // string
),
array( 'taxonomy' => 'portfolio_tag' ),
array( '%s' ), // Formatting column
array( '%s' )
);
}
// [waving effect="value"]
function waving_func( $atts ) {
extract( shortcode_atts( array(
'effect' => 12,
'width' => 0,
'height' => 250,
'theme'=> 'dark',
'all' => 'false',
'clicking' => 'true',
'showcat' => 'true',
'tag' => ''),
$atts ) );
return $this->Building_Portfolio_List($width, $height, $effect,$theme,$tag, $showcat, $all, $clicking);
}
// Enqueue scripts
function load_frontend_libraries() {
$params = array(
'loadingImageSrc' => plugins_url( 'assets/images/loading.gif' , __FILE__ ),
'closeImageSrc' => plugins_url( 'assets/images/closelabel.gif' , __FILE__ ),
);
wp_enqueue_style( 'waving-portfolio-default-style',
plugins_url( 'assets/css/style.css' , __FILE__ ));
wp_enqueue_style( 'waving-portfolio-lightbox',
plugins_url( 'assets/css/lightbox.css' , __FILE__ ));
wp_enqueue_style( 'waving-portfolio-modal',
plugins_url( 'assets/css/modal.css' , __FILE__ ));
// Loading waving hover effect scripts
wp_enqueue_script(
'waving-portfolio-hover-script',
plugins_url( 'assets/js/jquery.hoverdir.js' , __FILE__ ),
array( 'jquery' ), WAVING_PORTFOLIO_VERSION, true
);
wp_enqueue_script(
'waving-portfolio-modernizer-script',
'https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js', '', WAVING_PORTFOLIO_VERSION, true
);
// Loading lightbox effect script
wp_enqueue_script(
'waving-portfolio-lightbox-script',
plugins_url( 'assets/js/lightbox.min.js' , __FILE__ ),
array( 'jquery' ), WAVING_PORTFOLIO_VERSION, true
);
wp_register_script('waving-portfolio-custom-script',
plugins_url( 'assets/js/custom.js' , __FILE__ ),array('jquery', 'waving-portfolio-lightbox-script' , 'waving-portfolio-hover-script'),WAVING_PORTFOLIO_VERSION, true);
wp_enqueue_script(
'waving-portfolio-classie-script',
plugins_url( 'assets/js/classie.js' , __FILE__ ),'',WAVING_PORTFOLIO_VERSION, true
);
wp_enqueue_script(
'waving-portfolio-modal-script',
plugins_url( 'assets/js/modalEffects.js' , __FILE__ ),'',WAVING_PORTFOLIO_VERSION, true
);
wp_localize_script( 'waving-portfolio-lightbox-script', 'pluginSetting', $params );
wp_enqueue_script('waving-portfolio-custom-script');
}
/**
* Loads the admin menu css
*/
function waving_admin_enqueue() {
wp_enqueue_style( 'waving_meta_box_styles', plugin_dir_url( __FILE__ ) . 'assets/css/waving-admin.css' );
}
function sortByOrder($a, $b) {
return strcmp($a->slug, $b->slug);
}
function Building_Portfolio_List($width, $height, $fx, $theme, $tag, $showCategory,$all, $click)
{
if($click == "true") $disableClicking2 = 'class="md-trigger"';
else $disableClicking2 = '';
$disableClicking = "";
$rand_index = rand();
$waving_meta = array();
$lists = array();
$modals = array();
$paramCustom = array();
$categoryMenu = array();
// Filtered category list
$cat_lists = array();
// Check whether tag is empty or not
$tagCondition = ($tag=='')?null:$tag;
// Get portfolio posts
$type = 'itech_portfolio';
$args=array(
'post_type' => $type,
'post_status' => 'publish',
'posts_per_page' => -1,
'waving_portfolio_tag' => $tagCondition,
'cache_results' => false);
// If it is a comma seperate list, reformat the string
if(strpos($tagCondition, ',')){
$tagCondition = str_replace(' ', '', $tagCondition);
$tagCondition = str_replace(',','-',$tagCondition);
}
$listHeader = '<section style="text-align:center"><ul id="da-thumbs" class="waving-thumb-'.$rand_index.' da-thumbs-'.$tagCondition.'">';
$listFooter = '</ul></section>';
$i = 1;
if($theme == 'light')
{
wp_enqueue_style( 'waving-portfolio-modal-light-theme',
plugins_url( 'assets/css/light.css' , __FILE__ ));
}
// print out categories
$taxonomy = 'waving_portfolio_category';
$image_code = '';
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
$i = rand();
// Initialize categories to be used for categories menu rendering
$temp_cat_cmp_array[] = get_the_terms( get_the_ID(),$taxonomy);
// ========= Start: Ensure that cat_list variable is unique ============
if(count($temp_cat_cmp_array) != 0 && $temp_cat_cmp_array[0] != null){
foreach($temp_cat_cmp_array[0] as $cat_cmp)
{
$cmp_result = false;
if(count($cat_lists) != 0){
foreach($cat_lists as $cat_val)
{
if($cat_val == $cat_cmp)
{
$cmp_result = true;
}
}
}
if(!$cmp_result)
{
array_push($cat_lists, $cat_cmp);
}
}
}
// Sort categories that will be printed out as buttons
usort($cat_lists, array($this,'sortByOrder'));
unset($temp_cat_cmp_array);
$temp_cat_cmp_array = array();
// ========= End: Ensure that cat_list variable is unique ============
//Extract meta information
$waving_meta = get_post_meta( get_the_ID() );
// Title and description for sliding panel
$description = false;
// Hyperlink or image on click event over panel
$hyperlinkSelection = false;
$blankPage = false;
$hyperlink = "";
$panel = "";
$fontsize = "15";
$excerptLength = "20";
$imageList = array();
if(isset($waving_meta[$this->meta_prefix.'hori']))
{
$hyperlinkSelection = ($waving_meta[$this->meta_prefix.'hori'][0]=='on')?true:false;
}
if(isset($waving_meta[$this->meta_prefix.'blank']))
{
$blankPage = ($waving_meta[$this->meta_prefix.'blank'][0]=='on')?true:false;
}
if(isset($waving_meta[$this->meta_prefix.'fontsize']))
{
$fontsize = ($waving_meta[$this->meta_prefix.'fontsize'][0]);
}
if(isset($waving_meta[$this->meta_prefix.'excerpt']))
{
$description = ($waving_meta[$this->meta_prefix.'excerpt'][0]=='on')?true:false;
}
if(isset($waving_meta[$this->meta_prefix.'excerpt_length']))
{
$excerptLength = ($waving_meta[$this->meta_prefix.'excerpt_length'][0]);
}
if(isset($waving_meta[$this->meta_prefix.'hyperlink']))
{
$hyperlink = $waving_meta[$this->meta_prefix.'hyperlink'][0];
}
if(isset($waving_meta[$this->meta_prefix.'file_list']))
{
$imageList = unserialize($waving_meta[$this->meta_prefix.'file_list'][0]);
}
$post_thumbnail_id = get_post_thumbnail_id(get_the_ID());
// Select optimal portfolio item image size and store it in $image
if($width < 310)
$image = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID() ), 'medium' );
else
$image = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID() ), 'full' );
$title = get_the_title( $post_thumbnail_id );
$alt = get_post_meta($post_thumbnail_id, '_wp_attachment_image_alt', true);
// IF there is no image don't render a list
if($image!=""){
$gImages = $imageList;
$gallary = "";
// Building the gallary
if(!empty($gImages) ){
$j=1;
foreach($gImages as $key=>$img){
$img_thumbnail = wp_get_attachment_image_src( $key, array(150,150), false );
$internal_img_title = get_the_title( $key );
$internal_img_alt = get_post_meta($key, '_wp_attachment_image_alt', true);
$gallary = $gallary.'<a href="'.$img.'" data-lightbox="image-list-'.$i.'" rel="portfolios'.$i.'"><img class="multiple-borders" src="'.$img_thumbnail[0].'" width="100" title="'.$internal_img_title.'" alt="'.$internal_img_alt.'" /></a>';
}
}
if($hyperlinkSelection)
{
if($blankPage)
$disableClicking = "target='_blank' href='".$hyperlink."'";
else
$disableClicking = "href='".$hyperlink."'";
}else{
$disableClicking = $disableClicking2;
}
$modal = '<div class="md-modal md-effect-12" id="modal-'.$i.'">
<div id="md-close">
<img class="waving-close" src="'.WAVING_PORTFOLIO_PLUGINURL.'/assets/images/close-button.png">
</div>
<div class="md-content waving-content">
<h3>'. get_the_title().'</h3>
<div class="modal-waving-content">
<div class="modal-gallary">
'.$gallary.'<br/><br/>
</div>'.
apply_filters('the_content', get_the_content()).'</div>
</div>
</div>';
$categories = get_the_terms( get_the_ID(),$taxonomy);
$cat_class = "";
if( $categories ){
foreach($categories as $cat)
{
$cat_class = $cat_class. " waving-" . $cat->term_id;
}
}
if($width > 0){
$image_code = '<img src="'.$image[0].'" style="width:'.$width.'px" title="'.$title.'" alt="'.$alt.'"/>';
}else
{
$image_code = '<img src="'.$image[0].'" style="height:'.$height.'px" title="'.$title.'" alt="'.$alt.'" >';
}
if($description)
{
$content = get_the_excerpt();
$content = substr($content, 0, $excerptLength);
$list = '<li class="waving-item-class waving-item '.$cat_class.'">
<a '.$disableClicking.' data-modal="modal-'.$i.'">
'.$image_code.'
<div style="display: block; left: 100%; top: 0px; overflow: hidden; -webkit-transition: all 300ms ease; transition: all 300ms ease;">
<span style="margin: 20px 15px 0px !important;padding:3px 0 !important;font-size:'.$fontsize.'px !important">'.get_the_title().'</span>
<p style="font-size:'.$fontsize.'px !important;color: white !important;width: 80% !important;margin: 5px 13px 0px !important;">
'.$content.'...
</p>
</div>
</a>
</li>';
}else{
$list = '<li class="waving-item '.$cat_class.'">
<a '.$disableClicking.' data-modal="modal-'.$i.'">
'.$image_code.'
<div style="display: block; left: 100%; top: 0px; overflow: hidden; -webkit-transition: all 300ms ease; transition: all 300ms ease;">
<span style="font-size:'.$fontsize.'px">'.get_the_title().'</span>
</div>
</a>
</li>';
}
array_push($modals, $modal);
array_push($lists, $list);
$i++;
}
endwhile;
}
wp_reset_query();
// ========= Start: Print out categories ============
if(count($cat_lists)!=0){
$paramCustom = array("all" => $all,
"initialClass"=>$cat_lists[0]->term_id);
}else{
$paramCustom = array("all" => "1",
"initialClass"=>"0");
}
if($all == "true" && count($cat_lists)!=0)
{
$categoryMenu[] = '<button class="waving-button waving-button-'.$rand_index.' action-button shadow animate blue" onClick="ShowLists(\'all\',\''.$tagCondition.'\', this, '.$rand_index.')">All</button>';
}
if(count($cat_lists)!=0){
foreach($cat_lists as $term_cat)
{
$categoryMenu[] = '<button class="waving-button waving-button-'.$rand_index.' action-button shadow animate blue" onClick="ShowLists(\''.$term_cat->term_id.'\',\''.$tagCondition.'\', this, '.$rand_index.')">'.ucfirst($term_cat->name).'</button>';
}
}
// ========= End: Print out categories ============
$static = '<div class="md-overlay"></div><div id="waving-dim"></div>';
wp_localize_script( 'waving-portfolio-custom-script', 'pluginSetting', $paramCustom );
$catMenu = ($showCategory=="true")?implode("",$categoryMenu):'';
return '<div class="waving-wrap">'.$catMenu.'</div>'.implode("",$modals).''.$listHeader.''.implode("",$lists).''.$listFooter.''.$static;
}
// Setting gallary attributes to full size by Default
function waving_gallery_atts( $out, $pairs, $atts ) {
$atts = shortcode_atts( array(
'columns' => '2',
'size' => 'full',
), $atts );
$out['columns'] = $atts['columns'];
$out['size'] = $atts['size'];
return $out;
}
}
$waving_portfolio_plugin = new Waving_Portfolio_Plugin();
Anybody any idea? ?? thx!
]]>Hello,
I have installed your plugin on my Sydney wordpress site. When I make a portfolio, the images appear to be in there own frame and not in the light box. Whenever I click on a category the page scrolls all the way to the top and I can’t read the content. In the demo when you click on the category pic a light box shows up with your image grid. I am not getting this on mine. Please help.
]]>Hello,
I would like to add a small description, that appears before clicking on the picture under the project name.
I guess I need to edit the plug in but I don’t know what to do exactly. I am thinking of writing the text I want in the description or caption of my picture.
Thank you ??
]]>how can we add Custom Fields where we have to changes.
Thanks
Sandeep
Hi,
I love this plugin but somehow not working after I reactivate this plugin.
When the plugin still using dummy data, it work properly but after I delete the the dummies and add new, the category sorting not working like before.
Any solution?
FYI my working plugin is :
Better Font Awesome v1.5.0
Contact Form 7 v4.4.2
Easy Smooth Scroll Links v2.1
Google Maps Widget v3.36
Huge IT Product Catalog v1.4.3
Instagram Feed v.1.3.11
Simple Custom CSS v3.3
Smooth Scroll Up v1.1
UpdraftPlus – Backup/Restore v1.12.6
Waving Portfolio v1.2.4.5
WP Logo Showcase Responsive Slider v1.2.3
WPBakery Visual Composer v4.10
and still developed in local
]]>