WordPress.org

Ready to get started?Download WordPress

Forums

Addthis custom share url with wp_get_attachment_link #ID (5 posts)

  1. charlcfc
    Member
    Posted 2 years ago #

    Hi All

    Does anybody perhaps know howto include the id of an image dynamically within a custom addthis share url?

    I'm sharing the gallery landing page with addthis, but require the image id as reference at the end of the url.

    So the share url would look like the following:
    http://www.yourdomain.com/my-photo-gallery/#image-1

    I've added a filter in functions.php to include the id within the gallery code:

    add_filter( 'wp_get_attachment_link', 'add_image_attribute_id',10,6);
    function add_image_attribute_id($markup, $id, $size, $permalink, $icon, $text ) {
    
    	$pos = strpos($markup, '<img ');
    	if ($pos !== false) {
    		return substr_replace($markup, '<img id="image-' . $id . '" ', $pos, strlen('<img '));
    	}
    
    	return $markup;
    
    }

    And i've added the following addthis .js code in my footer.php:

    <script type="text/javascript">
    	$(".gal")
    		.attr('rel', 'gallery')
    	.fancybox({
        beforeShow : function() {
            this.title = '<div class="addthis addthis_default_style "><a href="' + this.href + '">" addthis:title="' + this.title + '" class="addthis_button_preferred_1"></a><a href="' + this.href + '"></a><a href="' + this.href + '"></a><a href="' + this.href + '"></a><a href="' + this.href + '"></a><a href="' + this.href + '"></a></div>';
        },
        afterShow : function() {
             addthis.toolbox(
                $(".addthis").get()
            );
            addthis.counter(
                $(".addthis_counter").get()
            );
    
        },
        helpers : {
            title : {
                type : 'inside'
            }
        }
    	});
    
    </script>

    Much appreciated.

    Regards.

  2. keesiemeijer
    moderator
    Posted 2 years ago #

    Try enqueueing the script:
    http://codex.wordpress.org/Function_Reference/wp_enqueue_script

    Create a file called custom_script.js and put it inside a folder called js in your theme folder (/wp-content/themes/yourtheme/js/custom_script.js).

    Put this in the new custom_script.js:

    jQuery(document).ready(function($) {
        // $() will now work as an alias for jQuery() inside of this function
    	$(".gal").attr('rel', 'gallery').fancybox({
        beforeShow : function() {
            this.title = '<div class="addthis addthis_default_style "><a href="' + this.href + '">" addthis:title="' + this.title + '" class="addthis_button_preferred_1"></a><a href="' + this.href + '"></a><a href="' + this.href + '"></a><a href="' + this.href + '"></a><a href="' + this.href + '"></a><a href="' + this.href + '"></a></div>';
        },
        afterShow : function() {
             addthis.toolbox(
                $(".addthis").get()
            );
            addthis.counter(
                $(".addthis_counter").get()
            );
    
        },
        helpers : {
            title : {
                type : 'inside'
            }
        }
    	});
    });

    And put this in your theme's functions.php file:

    function my_scripts_method() {
    	wp_enqueue_script(
    		'custom-script',
    		get_template_directory_uri() . '/js/custom_script.js',
    		array('jquery')
    	);
    }
    add_action('wp_enqueue_scripts', 'my_scripts_method');

    And remove your code from the footer.
    Is fancybox a plugin?

  3. charlcfc
    Member
    Posted 2 years ago #

    Thanks for the feedback keesiemeijer

    I'm trying to include the image #ID with the sharethis url:

    <a href="' + this.href + '">

    So that the url being shared is:

    <a href="' + this.href + '" addthis:url="<?php the_permalink(); ?>/#imageID" addthis:title="' + this.title + '" class="addthis_button_preferred_1"></a>

    Is that possible to accomplish since i don't know howto add the #imageID to the url dynamically?

  4. keesiemeijer
    moderator
    Posted 2 years ago #

    I don't know much of jQuery or the addthis share url, so I don't know If I could be of any help. Where did you get the jQuery code from?

  5. charlcfc
    Member
    Posted 2 years ago #

    Got the code from the following website:
    http://www.catswhocode.com/blog/snippets/fancybox-addthis-resolved

    Know i need to append the addthis url with the wp_get_attachment_link ID, but where to start...

Topic Closed

This topic has been closed to new replies.

About this Topic

Tags