Contents

1. How do I add a BuddyPress cover image?

2. I can't see the BuddyPress/bbPress pages?

3. How do I show the back to top button on mobile/tablet devices?

4. My site is running slow, what can I do?

5. My translations are no longer working since the theme update?

6. How do I remove specific entries from activity stream?

7. Why do I not see the featured images on my site?

8. Can I display different widgets on different categories?

9. How do users add avatars (images) to their profiles?

10. CDN images are not working on my site?

11. Why do I have so many different versions of the same image on my server?

12. How do I insert advertisements on my site?

13. How do I create BuddyPress groups?

14. I cannot see any related posts?

15. How do I enable comments on pages?

16. I cannot access the drop down menu links on Android devices?

17. How do I add a Favicon to my site?

18. How do I change the WooCommerce product page image dimensions?

19. How do I change the size of the WooCommerce images

20. I cannot see the icons on my site?

21. How do I resize Google ads on my site?

1. How do I add a BuddyPress cover image?

Go to Settings > BuddyPress, click the Options tab and make sure Allow registered members to upload cover images is checked. Now go to your BuddyPress profile page, by clicking your username anywhere on the site and click Change Cover Image link.

2. I can't see the BuddyPress/bbPress pages?

1) Please ensure you have installed and activated the BuddyPress and bbPress plugins.

2) Go to Settings -> BuddyPress and click the Components tabs and enable "User Groups" and any other features you want to use.

3) Next click the Pages tab and ensure that each dropdown menu has a page selected - if a dropdown menu is empty either create a new page or select an existing page. You do not need to add anything to pages - just leave them empty.

4) If you imported the demo data the links to the BuddyPress pages may need to be edited. Go to Appearance > Menus, find the menu with the BuddyPress links and delete them and replace them with the correct pages.

3. How do I show the back to top button on mobile/tablet devices?

Go to Theme Options > Styling and in the CSS Code box add :

@media only screen and (max-width: 1023px) {
    .gp-theme #gp-to-top {
    display: block !important;
    opacity: 0.7 !important;
    }
}

4. My site is running slow, what can I do?

Before blaming the theme there are a number of things that may be causing your site to slow down. 

First ask yourself, does this issue occur when you are using any other theme? If it does, then it's probably a server or plugin issue. If it's a plugin issue, disable all plugins and reactivate them one by one to find which one(s) are causing the slow down. If it's a server problem then you should contact your web host.


If this issue only occurs when using this theme there are a number of things you can do to improve the pagespeed, as follows:

Install a cache

This is an absolute must. If you're not already using a caching plugin and you're complaining about page speed install a caching plugin immediately! I recommend WP Super Cache or W3 Total Cache.

Optimize images

Optimizing your images reduces their file size without losing picture quality. You can either use a program that does this before uploading your images to your server (such as ImageOptim for the Mac) or you can use a WordPress plugin that does this after uploading your images.

Minify JavaScript and CSS files

Minifying your JavaScript and CSS files basically makes these files as small as possible so they load quicker. There are plenty of plugins out there that minify these files, I recommend Better WordPress Minify.

Remove Query Strings from Static Resources

Use the following Remove Query Strings From Static Resources plugin to remove query strings from static resources like CSS & JS files, to improve your speed scores in services like PageSpeed, YSlow, Pingdom and GTmetrix. Resources with a “?” or “&” in the URL are not cached by some proxy caching servers, and moving the query string and encode the parameters into the URL will increase your WordPress site performance.

Use a VPS or dedicated server

If you are hosted on a shared server you should really consider moving to a VPS or dedicated server. A shared server distributes the server resources across many sites leading to a noticeable slow down when sites on the server have a lot of visitors. If your own site is getting a decent number of visitors you should definitely not be using a shared server. With VPS and dedicated servers you have your own server resources that are not used by any other sites.

Use a CDN to load media, CSS and JavaScript files

A Content Delivery Network (CDN) works by providing alternative server nodes for users to download your files. These nodes are spread throughout the world, therefore being geographically closer to your users, ensuring a faster response and download time of content due to reduced latency. Some of the most popular CDNs are Amazon S3, Microsoft Windows Azure and MaxCDN.

For Gauge users also check out the following video from a fellow buyer:



If you're hosted on a VPS/dedicated server, installed a cache, optimized your images and minified your files and still experience page speed issues then I will need some more information from you in order to determine the cause of this issue.

1) Run your site through http://tools.pingdom.com/ and provide me with the link to the results page.

2) Provide me with WordPress admin access (URL, username and password).

5. My translations are no longer working since the theme update?

Sorry for the inconvenience, Envato has asked me to move certain features to the theme plugin. This means all the theme options and custom Visual Composer elements have been moved the theme plugin. You can now translate all the text relating to these items from the themename-plugin.pot translation file as explained in the help file:

Socialize: http://ghostpool.com/help/socialize/help.html#61

The Review: http://ghostpool.com/help/gauge/help.html#71

Gauge: http://ghostpool.com/help/thereview/help.html#71

Vivacity: http://ghostpool.com/help/socihttp://ghostpool.com/help/vivacity/help.html#61lize/help.html#61

6. How do I remove specific entries from activity stream?

If you want to exclude certain activity entries from your activity stream add the following to your child theme's functions.php file:

function ghostpool_activity_dont_save( $activity_object ) {
    $exclude = array(
        'new_avatar',
        'new_member',
        'friendship_accepted',
        'friendship_created',
        'joined_group',
        'new_blog_comment',
        'bbp_topic_create',
        'bbp_reply_create',
    );
    if ( in_array( $activity_object->type, $exclude ) ) {
        $activity_object->type = false;
    }
    
}
add_action( 'bp_activity_before_save', 'ghostpool_activity_dont_save', 10, 1 );

You can change the type of entries you want to remove from the activity stream by editing the $exclude list.

7. Why do I not see the featured images on my site?

1) Make sure you have selected a featured image for each post/page/slide.

2) Make sure you have not set the image width to 0 or left it empty on the Theme Options pages, Also make sure you've not set it to 0 (it can be left empty) on individual post/pages and shortcodes.

3) Make sure you have an image editor installed on your server such as GD Library or ImageMagick. If you are not sure please ask your web host about this.

4) CDN hosted images are not supported - the images need to be uploaded to the server the site is on.

8. Can I display different widgets on different categories?

Yes you can do this using the "Display Widgets" WordPress plugin, which allows you to specify which posts, pages and/or categories individual widgets are displayed on.

9. How do users add avatars (images) to their profiles?

WordPress uses Gravatar to add avatars (user images). Register a free account at http://gravatar.com, associate it with the email you're using on your WordPress site and upload your avatar image. Now go back to your site and within a short amount of time your avatar will show up in your comments, profile page etc. If you want people to upload an avatar from your own site instead, use a plugin such as "Add Local Avatar".

10. CDN images are not working on my site?

The theme uses the Aqua Resizer script to resize/crop images to the selected size, this script only accepts images hosted on the same server as the site so CDN images will not work.

In order to support CDN images you will need to disable the cropping functionality. This is not an elegant solution as this will mean the full size images are loaded in all cases but at least your images will be working. To do this copy the following function to your child theme's functions.php file:

Replace "http://cdnurl.com/wp-content/uploads" with your CDN uploads directory.

class Aq_Exception extends Exception {}
class Aq_Resize
{
    /**
     * The singleton instance
     */
    static private $instance = null;
    /**
     * Should an Aq_Exception be thrown on error?
     * If false (default), then the error will just be logged.
     */
    public $throwOnError = false;
    /**
     * No initialization allowed
     */
    private function __construct() {}
    /**
     * No cloning allowed
     */
    private function __clone() {}
    /**
     * For your custom default usage you may want to initialize an Aq_Resize object by yourself and then have own defaults
     */
    static public function getInstance() {
        if(self::$instance == null) {
            self::$instance = new self;
        }
        return self::$instance;
    }
    /**
     * Run, forest.
     */
    public function process( $url, $width = null, $height = null, $crop = null, $single = true, $upscale = false ) {
        try {
            // Validate inputs.
            if (!$url)
                throw new Aq_Exception('$url parameter is required');
            if (!$width && !$height)
                throw new Aq_Exception('$width and $height parameter are required'); // MODIFIED
            // Caipt'n, ready to hook.
            if ( true === $upscale ) add_filter( 'image_resize_dimensions', array($this, 'aq_upscale'), 10, 6 );
            // Define upload path & dir.
            $upload_info = wp_upload_dir();
            $upload_dir = $upload_info['basedir'];
            $upload_url = 'http://cdnurl.com/wp-content/uploads';
            
            $http_prefix = "http://";
            $https_prefix = "https://";
            $relative_prefix = "//"; // The protocol-relative URL
            
            /* if the $url scheme differs from $upload_url scheme, make them match 
               if the schemes differe, images don't show up. */
            if(!strncmp($url,$https_prefix,strlen($https_prefix))){ //if url begins with https:// make $upload_url begin with https:// as well
                $upload_url = str_replace($http_prefix,$https_prefix,$upload_url);
            }
            elseif(!strncmp($url,$http_prefix,strlen($http_prefix))){ //if url begins with http:// make $upload_url begin with http:// as well
                $upload_url = str_replace($https_prefix,$http_prefix,$upload_url);      
            }
            elseif(!strncmp($url,$relative_prefix,strlen($relative_prefix))){ //if url begins with // make $upload_url begin with // as well
                $upload_url = str_replace(array( 0 => "$http_prefix", 1 => "$https_prefix"),$relative_prefix,$upload_url);
            }
            
            // Check if $img_url is local.
            if ( false === strpos( $url, $upload_url ) )
                throw new Aq_Exception('Image must be local: ' . $url);
            // Define path of image.
            $rel_path = str_replace( $upload_url, '', $url );
            $img_path = $upload_dir . $rel_path;
            // Check if img path exists, and is an image indeed.
            if ( ! file_exists( $img_path ) or ! getimagesize( $img_path ) )
                throw new Aq_Exception('Image file does not exist (or is not an image): ' . $img_path);
            // Get image info.
            $info = pathinfo( $img_path );
            $ext = $info['extension'];
            list( $orig_w, $orig_h ) = getimagesize( $img_path );
            // Get image size after cropping.
            $dims = image_resize_dimensions( $orig_w, $orig_h, $width, $height, $crop );
            $dst_w = $dims[4];
            $dst_h = $dims[5];
            // Return the original image only if it exactly fits the needed measures.
            if ( ! $dims && ( ( ( null === $height && $orig_w == $width ) xor ( null === $width && $orig_h == $height ) ) xor ( $height == $orig_h && $width == $orig_w ) ) ) {
                $img_url = $url;
                $dst_w = $orig_w;
                $dst_h = $orig_h;
            } else {
                // Use this to check if cropped image already exists, so we can return that instead.
                $suffix = "{$dst_w}x{$dst_h}";
                $dst_rel_path = str_replace( '.' . $ext, '', $rel_path );
                $destfilename = "{$upload_dir}{$dst_rel_path}-{$suffix}.{$ext}";
                if ( ! $dims || ( true == $crop && false == $upscale && ( $dst_w < $width || $dst_h < $height ) ) ) {
                    // Can't resize, so return false saying that the action to do could not be processed as planned.
                    //throw new Aq_Exception('Unable to resize image because image_resize_dimensions() failed');
                    $img_url = $url; // MODIFIED
                }
                // Else check if cache exists.
                elseif ( file_exists( $destfilename ) && getimagesize( $destfilename ) ) {
                    $img_url = "{$upload_url}{$dst_rel_path}.{$ext}";
                }
                // Else, we resize the image and return the new resized image url.
                else {
                    $editor = wp_get_image_editor( $img_path );
                    if ( is_wp_error( $editor ) || is_wp_error( $editor->resize( $width, $height, $crop ) ) ) {
                        throw new Aq_Exception('Unable to get WP_Image_Editor: ' . 
                                               $editor->get_error_message() . ' (is GD or ImageMagick installed?)');
                    }
                    $resized_file = $editor->save();
                    if ( ! is_wp_error( $resized_file ) ) {
                        $resized_rel_path = str_replace( $upload_dir, '', $resized_file['path'] );
                        $img_url = $upload_url . $resized_rel_path;
                    } else {
                        throw new Aq_Exception('Unable to save resized image file: ' . $editor->get_error_message());
                    }
                }
            }
            // Okay, leave the ship.
            if ( true === $upscale ) remove_filter( 'image_resize_dimensions', array( $this, 'aq_upscale' ) );
            // Return the output.
            if ( $single ) {
                // str return.
                $image = $url;
            } else {
                // array return.
                $image = array (
                    0 => $url,
                    1 => $dst_w,
                    2 => $dst_h
                );
            }
            return $image;
        }
        catch (Aq_Exception $ex) {
            error_log('Aq_Resize.process() error: ' . $ex->getMessage());
            if ($this->throwOnError) {
                // Bubble up exception.
                throw $ex;
            }
            else {
                // Return false, so that this patch is backwards-compatible.
                return false;
            }
        }
    }
    /**
     * Callback to overwrite WP computing of thumbnail measures
     */
    function aq_upscale( $default, $orig_w, $orig_h, $dest_w, $dest_h, $crop ) {
        if ( ! $crop ) return null; // Let the wordpress default function handle this.
        // Here is the point we allow to use larger image size than the original one.
        $aspect_ratio = $orig_w / $orig_h;
        $new_w = $dest_w;
        $new_h = $dest_h;
        if ( ! $new_w ) {
            $new_w = intval( $new_h * $aspect_ratio );
        }
        if ( ! $new_h ) {
            $new_h = intval( $new_w / $aspect_ratio );
        }
        $size_ratio = max( $new_w / $orig_w, $new_h / $orig_h );
        $crop_w = round( $new_w / $size_ratio );
        $crop_h = round( $new_h / $size_ratio );
        $s_x = floor( ( $orig_w - $crop_w ) / 2 );
        $s_y = floor( ( $orig_h - $crop_h ) / 2 );
        return array( 0, 0, (int) $s_x, (int) $s_y, (int) $new_w, (int) $new_h, (int) $crop_w, (int) $crop_h );
    }
}

11. Why do I have so many different versions of the same image on my server?

If you look in your uploads folder and see different versions of the same image this is perfectly normal. The theme crops each image to different sizes because these sizes are used in various places on your website. So you may have the same image shown as a 50 x 50 thumbnail and as a large featured image at 800 x 400. The theme will create two additional versions of these images at these dimensions.

This is much more effective than just creating a few different sizes of an image (thumbnail, medium, large), like some themes do, and then resizing them using HTML. If you were to resize a large image with HTML, the large image is still being loaded and then constrained with HTML, which uses more bandwidth and increases your page load time, which in turn is not very SEO friendly. What the theme does is only load the images at the exact size they need to be.

The theme does not currently delete versions of the images no longer in use. So if you change the featured image on your posts from 800 x 400 to 500 x 300 and then to 400 x 600 all of these images will be created but the images no longer used (800 x 400 and 500 x 300) will not be deleted from your server. This is something I hope to add in the future.

You can just leave these images on your server and ignore them because they are not being loaded on your site so they have no impact on your bandwidth or pageload, these just contribute to a bit of disk space.

However you can delete all the resized images in your uploads folders and the server will then only recreate the different image sizes that currently exist on your site. Before doing this first make a backup of your uploads folder and do not delete the original images, only the resized versions that have the extensions -widthxheight.png!

12. How do I insert advertisements on my site?

To insert advertisements in the header and footer go to the Theme Options page of your theme and locate the header and footer content options (not available on all themes).

To insert advertisements in your sidebar go to Appearance > Widgets and add your ad or image code into the Text Widget.

To insert advertisements within the page content go to Appearance > Sidebars Editor and insert your ad or image code into the Raw JS Visual Composer element (not available on all themes).

You can also use a variety of ad plugins to insert advertisements within your posts/page. The plugin "Wp-Insert" has been tested with this theme.


13. How do I create BuddyPress groups?

I'm not sure why I get this question so often as creating groups has nothing to do with the theme, it's part of the BuddyPress plugin. However since I'm always asked please check the following:

1) Go to Settings > BuddyPress and under the Components tab make sure User Groups is enabled.

2) Go to Settings > BuddyPress and under the Pages tab make sure a page is selected from the User Groups drop down menu.

3) To add a link to this page go to Appearance > Menus and add this page to one of your menus.

4) If you can't create user groups from the frontend, go to Settings > BuddyPress and under the Settings tab enable Group Creation if you want to allow all users to create groups. If you still can't create groups deactivate all plugins (except BuddyPress) to see if this resolves the issue. If it does, reactivate the plugins one by one to fix the problem plugin.

If no plugin is causing the issue activate the Twenty Seventeen theme, if this doesn't resolve the issue, the theme is not causing this problem and you will need to contact BuddyPress support who will be able help you.


14. I cannot see any related posts?

Related posts are only displayed if posts have one or more of the same post tags as the post you are viewing. To add post tags to posts, on the right-hand side of the post add your tags from the "Tags" panel.

15. How do I enable comments on pages?

Go to Settings -> Discussion and make sure Allow people to post comments on new article is checked.

Now on any page click the Screen Options button in the top right corner of the page and check the Discussion option.

Since WordPress 4.3 comments are not enabled on pages by default - to enable them use the following plugin: https://wordpress.org/plugins/no-page-comment/

16. I cannot access the drop down menu links on Android devices?

By default Android will redirect to the top level menu item link URL as soon as it is tapped. To display a submenu, users must tap, and without lifting their finger slide off of the menu item.

17. How do I add a Favicon to my site?

This is controlled by WordPress, not the theme. Go to Appearance > Customize > Site Identity > Site Icon.

18. How do I change the WooCommerce product page image dimensions?

Go to WooCommerce -> Settings -> Products and change the "Single Product Image" dimensions.

You will not see a change on product pages even though the images are being cropped to the sizes you specify because WooCommerce is still stretching the images to 48% of the container width. You'll need to edit the widths with CSS, e.g.

/* Image Width */

.woocommerce #content div.product div.images,.woocommerce div.product div.images,.woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
width: 48%;
}


/* Container to the right width */

.woocommerce #content div.product div.summary,.woocommerce div.product div.summary,.woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
width: 48%;
}

19. How do I change the size of the WooCommerce images

Go to WooCommerce -> Settings -> Products and scroll down to "Product Image Sizes" and edit the cropping dimensions. After changing these settings you will need to regenerate your thumbnails by running the Regenerate Thumbnails plugin: http://wordpress.org/extend/plugins/regenerate-thumbnails

20. I cannot see the icons on my site?

This is probably because of a permission issues with the font used to display the icons. Using an FTP client set lib/fonts/ and lib/fonts/fontawesome/ permissions to 755 and the font file permissions to 644.

21. How do I resize Google ads on my site?

Visit the following site which explains how to make your Google ads responsive: http://www.labnol.org/internet/google-adsense-responsive-design/25252