WordPress.org

Ready to get started?Download WordPress

Forums

NextGEN Custom Fields
[resolved] Image links- Not Working! (12 posts)

  1. sbaroulette
    Member
    Posted 1 year ago #

    Hi! I've followed the instructions for adding a link custom field called "link". I see the field in my db. Everything looks good. I modified the gallery.php file, entered in a value to my link field .. but no links on my images. Can someone who's got it working please post their gallery.php or tell me what to check? I need a fix!

    Btw, I'm using the JJ NextGen JQuery Carousel to display the images. Thanks!

    http://wordpress.org/extend/plugins/nextgen-gallery-custom-fields/

  2. bpiper
    Member
    Posted 1 year ago #

    I have been trying to get the custom fields to work with JJ NextGen JQuery Carousel as well. I am not sure if you are aware that if you put your link in the Alt&Title area of NGG with the http the image will use the link that you have posted in that field. Editing the Gallery.php only works for NGG itself. In the JJ NextGen JQuery Carousel you have to edit the includes/jj_ngg_jquery_carousel.php, unfortunately I have been unsuccessful myself in getting this to work. In jj_ngg_jquery_carousel there is code for

    $image = new nggImage($result);
    $image_alt = trim($image->alttext);
    $image_description = trim($image->description);

    and I have tried to change it to

    $image = new nggImage($result);
    $image_alt = trim($image->ngg_custom_fields["Your Field Name Here"];);
    $image_description = trim($image->description);

    and it doesn't seem to want to pull the link from the custom field. I am not sure if I can use the $image->ngg_custom_fields["Your Field Name Here"]; in the jj_ngg_jquery_carousel.php or not. I am not sure how to pull the code in else wise. Any help would be appreciated.

  3. shauno
    Member
    Plugin Author

    Posted 1 year ago #

    bpiper is right in that altering the default gallery.php won't do anything if you aren't using that template to display your images. Crazy concept, I know.

    You're also right that you won't be able to use $image->ngg_custom_fields["Your Field Name Here"] outside of the default NGG templates. Luckily, I have an API for that. You can use the function nggcf_get_field($pid, 'Field Name').

    I don't have this jQuery carousel plugin installed, so I don't know what variable the picture ID is in, but that's needs to be passed as the first argument. Then the second argument is just the field name as normal.

    Let me know if you have any more problems

  4. sbaroulette
    Member
    Posted 1 year ago #

    Thanks so much! I'm learning a lot here. Putting my url in the Alt&Title field did the trick. Hopefully I can set my target=blank, then I'll be good.

    Another issue I'm having is only being able to use NextGen Gallery on my main site within my MultiSite setup. I need to be able add to my other sites. I've read that is an issue but I don't understand why bc it's in the same db. Can you shed any light on this?

    Error: NextGEN Gallery : Tables could not created, please check your database settings

    Thanks again to you both for your help!

  5. shauno
    Member
    Plugin Author

    Posted 1 year ago #

    I don't actually know much about multisite. I thought NGG handled it, but I haven't done anything for NGG Custom Fields to handle it. I don't even know what I as the developer need to do, to get the plugin to work on multisite.
    I will try look into sometime, but it's not going to be a priority with the development I think.

  6. bpiper
    Member
    Posted 1 year ago #

    Thanks for the update shauno. I have tried plugging in the API code that you gave. I am still unable to figure it out yet. You mention the $pid variable that they might be using? I am afraid I am still new when it comes to PHP programing as my back ground is priamrily web layout design. I was wondering if you could see anything in the following code that might point out what they are using to pull the alttext data to get the $pid. It is a copy of the code that deals with adding links to the images.

    $image_alt = null;
          $image_description = null;
          foreach($results as $result)
          {
            $gallery = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '" . $result->galleryid . "'");
            foreach($gallery as $key => $value)
            {
                $result->$key = $value;
            }
            $image = new nggImage($result);
            $image_alt = trim($image->alttext);
            $image_description = trim($image->description);                   
    
            $output .= "\n    <li>";
    
            // check that alt is url with a simple validation
            $use_url = false;
            if($image_alt != '' && (substr($image_alt, 0, 1) == '/' || substr($image_alt, 0, 4) == 'http' || substr($image_alt, 0, 3) == 'ftp'))
            {
              $use_url = true;
            }
            // if alt isn't a url make it the alt text to backwards support nextgen galleries
            elseif($image_alt != '')
            {
              $image_description = $image_alt;
            }
    
            if($use_url)
            {
              $output .= "<a href=\"" . $image_alt . "\">";
            }
    
            if($image_description != '')
            {
              $image_description = "alt=\"" . esc_attr($image_description) . "\" ";
            }
            else
            {
              $image_description = '';
            }
  7. bpiper
    Member
    Posted 1 year ago #

    Ok, Sorry to update this post after its been marked resolved but I thought I would share how I got this fixed for others who want to use shauno's great plugin with JJ NextGen JQuery Carousel for adding the links instead of using the built in Alt option. I got it figured out with the trial and error method.
    Just change:

    $image = new nggImage($result);
    $image_alt = trim($image->alttext);
    $image_description = trim($image->description);

    with this:

    $image = new nggImage($result);
           	$image_alt = trim(nggcf_get_field($image->pid, 'Your custom field goes here'));
            $image_description = trim($image->description);

    Thanks for the help shauno.

  8. sbaroulette
    Member
    Posted 1 year ago #

    Thanks for sharing!.. Will give it a try. Does it open a new window? :)

  9. bpiper
    Member
    Posted 1 year ago #

    I didn't set mine to do that but you can easily modify this link to make it open one.

    if($use_url)
            {
              $output .= "<a href=\"" . $image_alt . "\">";
            }
  10. BernardArias
    Member
    Posted 1 year ago #

    shauno, in reference to your post...

    bpiper is right in that altering the default gallery.php won't do anything if you aren't using that template to display your images. Crazy concept, I know.

    Ho would I go about finding the page being used to edit?

    I've upgraded WP and NexGEN to recent versions for a client and the custom field link no longer gets added to the link tag. I've added to gallery.php per instruction as well as gallery-caption.php to see if that is the page being used to display... to no avail. Check it out: http://kw.sairabydesign.com/kitchen-bathroom-designers. Each of these is supposed to open a pdf link, but they open the current page again.

    Looking at the source you'll see the href is missing. Ho would I go about finding the correct page to edit?

  11. shauno
    Member
    Plugin Author

    Posted 1 year ago #

    Hi BernardArias

    The way I do it is trail and error unfortunately. I don't think NGG have release any documentation explaining how the new gallery insertion process finds the templates it uses. And with the 'new' gallery insertion method, I can't even just ask what shortcode you are using.

    When inserting the gallery into your page, if you have the "NextGEN Basic Thumbnails" layout selected, and NO template selected under the "Customize Display Settings", the gallery will use the /nextgen-gallery/products/photocrati_nextgen/modules/nextgen_basic_gallery/templates/thumbnails/index.php template.

    You also need to use the API <?php echo nggcf_get_field($image->pid, "Link"); ?> to show the custom field, as the normal method no longer works in NGG v2.

    I will try to get the documentation for NGG Custom Fields updated this weekend as best as possible.

  12. BernardArias
    Member
    Posted 1 year ago #

    I found the template! It's kind of a duh... it was in the theme folder. It was using the old method to get the field name. I updated to the API format and it now works! Thank you!

    I only have one lingering issue since the upgrade... it seemed related NGG field. Now it doesn't seem like it. I thought you might be able to give me direction. This page displays thumbnails of the image in posts from the "featured items" category. Each is supposed to go to the corresponding post but the permalink gets resolved to the last post, not the one you click. The permalink shows a different name but the displayed post is always the same.

    Here is the code in the template:

    <div id="content-top">
                    <h2><?php the_title(); ?></h2>
                    </div>
                <div class="clear"></div>
                <?php if (have_posts()) : ?>
                    <?php while (have_posts()) : the_post();
                        the_content(__('<span class="continue">Continue Reading</span>',woothemes)); ?>
                    <?php endwhile; ?>
                <?php endif; ?>
                <div class="fix" style="height:20px;"></div>
    			<div class="featured-items-gallery">
    				<?php query_posts('showposts=24'); ?>
                    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
                        <?php $wp_query->is_home = false; ?>
    
        				<div class="featured-item-tmb">
                        	<?php woo_get_image('image','100','100','','thumbnail gallery'); ?>
                            <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
                        </div>
                    <?php endwhile; endif; ?>
    			</div><!--/featured-items-gallery-->

    Any help would be greatly appreciated. And thank you for your help with nextgen.

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic

Tags

No tags yet.