PHP Social Stream

Congratulations and thank you for choosing PHP Social Stream!

PHP Social Stream is the best choice for those who are looking for an easy way to share their social networking updates on their website.

This script gives you a combined social media stream for all of your social network updates, and can display them in 6 different formats: Wall, Timeline, Rotating Feed, Sticky Rotating Feed, Ajax Tabbed Feed & Sticky Ajax Tabbed Feed. It supports 17 and growing social networks and includes about 30 feed options.

Your visitors will be able to share your posts on Facebook, Twitter, Google or Linkedin from your website. They will also have the option to reply, retweet or favorite the Twitter posts on your Social Stream and watch the YouTube or Vimeo videos in a light box window. They can even filter your social stream by social network.

You can also change the style of your stream using the theme configuration file and/or custom CSS stylesheets, and make it unique to your website.

PHP Social Stream

PHP Social Stream
Created By: Axent Media
Created On: 10 July 2015
Last Update: 11 November 2016
Version: 2.5.3

If you have any questions or suggestions concerning to PHP Social Stream script, please contact us via our page on CodeCanyon http://codecanyon.net/user/axentmedia or via our website at http://axentmedia.com/

Note: We provide free installation and configuration for clients. After your purchase, simply contact our support desk and provide us your website information to get this service for free.

Installation

Installation of PHP Social Stream is straight forward and on average should take no longer than just a few minutes.

1. Open and extract the PHP Social Stream zip compressed file that you have downloaded from CodeCanyon to a location on your computer.

2. Find, extract and upload the contents of the php-social-stream-x.x.zip file to the root or subfolder of your site where you'd like the script to be accessible.

3. Open the social-stream/config.php file and do the following required setup:

SB_PATH => Path to script directory (non-relative).
SB_LOCALE => Define your locale language - Available options are described in the config file - e.g de_DE.
SB_NONCE_KEY => Replace this with a different unique phrases - This is for Ajax requests security.
$GLOBALS['api'] => Important: Replace this with your API Credentials - Read this topic to find out more about API Credentials.

Now you have installed the PHP Social Stream script. Follow the Quick Start Guide process to create a sample Social Stream enabled page.

Requirements

  • This script requires the PHP version 5.2.4 or higher.
  • This script requires both PHP's multibyte string extension AND iconv extension.
  • PHP's XML extension is required (enabled by default).
  • PHP's cURL extension is recommended (required for Facebook & Twitter feeds)

Quick Start Guide

After installation, you would have to create your Social Stream. Here we will explain you that how to create different form of feeds with the default settings and your relevant social network IDs on your website.

Create a Wall

In this topic we create a combined social stream wall on our website.

  1. Insert the following PHP code at the very beginning of your PHP document file on your website before outputting anything to the browser. (Important)
  2. Change the path to your PHP Social Stream main library file.
<?php
include( './social-stream/social-stream.php' ); // Path to PHP Social Stream main file
?>
  1. Insert the following PHP code into the PHP document on your website where you want to display the Social Stream Wall.
  2. Change the settings for your own social networks by editing the network array. You can add/remove as many as networks you like in your Social Stream.
<?php
echo social_stream(
        array(
            'id' => '1',
            'type' => 'wall',
            'network' => array(
                'facebook' => array(
                    'facebook_id_1' => array(
                        '624290390999239' // Replace with your Facebook page ID
                    ),
                    'facebook_pagefeed' => 'posts'
                ),
                'twitter' => array(
                    'twitter_id_1' => array(
                        'mashable' // Replace with your Twitter username
                    ),
                    'twitter_images' => 'small',
                    'twitter_feeds' => 'retweets,replies'
                ),
                'google' => array(
                    'google_id_1' => array(
                        '112592709425670873637' // Replace with your Google+ profile ID
                    )
                ),
                'tumblr' => array(
                    'tumblr_id_1' => array(
                        'ghostphotographs' // Replace with your Tumblr username
                    )
                ),
                'pinterest' => array(
                    'pinterest_id_1' => array(
                        '2013TopPins' // Replace with your Pinterest username
                    )
                )
            ),
            'theme' => 'sb-modern-light',
            'itemwidth' => 250,
            'results' => 30,
            'debuglog' => 0,
            'add_files' => true
        )
    );
?>

Your social wall is ready now. Browse to your created PHP document on your website to view the created Social Stream Wall.
For more information about creating/customizing a Social Stream click here.

Multiple Feeds Wall Example

In this example we create a combined social stream wall with multiple hashtags and usernames.

  1. Insert the following PHP code at the very beginning of your PHP document file on your website before outputting anything to the browser. (Important)
  2. Change the path to your PHP Social Stream main library file.
<?php
include( './social-stream/social-stream.php' ); // Path to PHP Social Stream main file
?>
  1. Insert the following PHP code into the PHP document on your website where you want to display the Social Stream Wall.
  2. Change the settings for your own social networks by editing the network array. You can add/remove as many as networks you like in your Social Stream.
<?php
echo social_stream(
        array(
            'id' => '1',
            'type' => 'wall',
            'network' => array(
                'twitter' => array(                
                    'twitter_id_1' => array(
                        'axentmedia' // Twitter username 1
                    ),
                    'twitter_id_3' => array(
                        '#paris', // Twitter hashtag 1
                        '#media' // Twitter hashtag 2
                    ),
                    'twitter_images' => 'small',
                    'twitter_feeds' => 'retweets,replies'
                ),
                'instagram' => array(
                    'instagram_id_1' => array(
                        '500px', // Instagram username 1
                        'envato' // Instagram username 2
                    ),
                    'instagram_id_2' => array(
                        'socialmedia' // Instagram hashtag 1
                        'selfie', // Instagram hashtag 2
                    )
                )
            ),
            'theme' => 'sb-modern-light',
            'itemwidth' => 250,
            'results' => 30,
            'debuglog' => 0,
            'add_files' => true
        )
    );
?>

Create a Timeline

In this topic we create a combined social stream timeline on our website.
The process is the same as you did for the Social Wall instead you will replace the 'type' => 'timeline' in the code.

  1. Insert the following PHP code at the very beginning of your PHP document file on your website before outputting anything to the browser. (Important)
  2. Change the path to your PHP Social Stream main library file.
<?php
include( './social-stream/social-stream.php' ); // Path to PHP Social Stream main file
?>
  1. Insert the following PHP code into the PHP document on your website where you want to display the Social Stream Timeline.
  2. Change the settings for your own social networks by editing the network array. You can add/remove as many as networks you like in your Social Stream.
<?php
echo social_stream(
        array(
            'id' => '1',
            'type' => 'timeline',
            'network' => array(
                'facebook' => array(
                    'facebook_id_1' => array(
                        '624290390999239' // Replace with your Facebook page ID
                    ),
                    'facebook_pagefeed' => 'posts'
                ),
                'twitter' => array(
                    'twitter_id_1' => array(
                        'mashable' // Replace with your Twitter username
                    ),
                    'twitter_images' => 'small'
                ),
                'google' => array(
                    'google_id_1' => array(
                        '112592709425670873637' // Replace with your Google+ profile ID
                    )
                )
            ),
            'theme' => 'sb-modern-light',
            'results' => 30,
            'debuglog' => 0
        )
    );
?>

Your social timeline is ready now. Browse to your created PHP document on your website to view the created social stream timeline.
For more information about creating/customizing a Social Stream click here.

Create a Rotating Feed

In this topic we create a combined social stream rotating feed on our website.

  1. Insert the following PHP code at the very beginning of your PHP document file on your website before outputting anything to the browser. (Important)
  2. Change the path to your PHP Social Stream main library file.
<?php
include( './social-stream/social-stream.php' ); // Path to PHP Social Stream main file
?>
  1. Insert the following PHP code into the PHP document on your website where you want to display the Social Rotating Feed.
  2. Change the settings for your own social networks by editing the network array. You can add/remove as many as networks you like in your Social Stream.
<?php
echo social_stream(
        array(
            'id' => '1',
            'type' => 'feed',
            'network' => array(
                'facebook' => array(
                    'facebook_id_1' => array(
                        '624290390999239'
                    ),
                    'facebook_pagefeed' => 'posts'
                ),
                'twitter' => array(
                    'twitter_id_1' => array(
                        'mashable'
                    ),
                    'twitter_images' => 'small'
                ),
                'instagram' => array(
                    'instagram_id_1' => array(
                        'katyperry'
                    )
                )
            ),
            'theme' => 'sb-modern-light',
            'label' => 'On Social Media',
            'showheader' => 1,
            'width' => 280,
            'height' => 600,
            'results' => 30,
            'cache' => 360,
            'debuglog' => 0
        )
    );
?>

Your social rotating feed is ready now. Browse to your created PHP document on your website to view the created social stream timeline.
For more information about creating/customizing a Social Stream click here.

Create a Sticky Rotating Feed

In this topic we create a sticky rotating feed on our website.

  1. Insert the following PHP code at the very beginning of your PHP document file on your website before outputting anything to the browser. (Important)
  2. Change the path to your PHP Social Stream main library file.
<?php
include( './social-stream/social-stream.php' ); // Path to PHP Social Stream main file
?>
  1. Follow the same steps 1 - 2 that you did for the Normal Rotating Feed in the last topic instead use the following PHP code.
<?php
echo social_stream(
        array(
            'id' => '1',
            'type' => 'feed',
            'network' => array(
                'facebook' => array(
                    'facebook_id_1' => array(
                        '624290390999239'
                    ),
                    'facebook_pagefeed' => 'posts'
                ),
                'twitter' => array(
                    'twitter_id_1' => array(
                        'mashable'
                    ),
                    'twitter_images' => 'small'
                )
            ),
            'theme' => 'sb-modern-light',
            'label' => 'On Social Media', // Label for the block header
            'position' => 'sticky', // Important to make a floating block
            'location' => 'sb-bottom_left', // Location of the block
            'slide' => 1, // To enable slide in/out feature
            'autoclose' => 1, // To enable slide auto-close feature
            'showheader' => 1,
            'width' => 250,
            'height' => 400,
            'results' => 30,
            'cache' => 360,
            'debuglog' => 0
        )
    );
?>

Your social sticky rotating feed is ready now.

Create an Ajax Tabbed Feed

In this topic we create an ajax tabbed feed on our website.

  1. Insert the following PHP code at the very beginning of your PHP document file on your website before outputting anything to the browser. (Important)
  2. Change the path to your PHP Social Stream main library file.
<?php
include( './social-stream/social-stream.php' ); // Path to PHP Social Stream main file
?>
  1. Follow the same steps 1 - 2 that you did for the Sticky Rotating Feed in the last topic instead use the following PHP code.
<?php
echo social_stream(
        array(
            'id' => '1',
            'type' => 'feed',
            'network' => array(
                'facebook' => array(
                    'facebook_id_1' => array(
                        '624290390999239'
                    ),
                    'facebook_pagefeed' => 'posts'
                ),
                'twitter' => array(
                    'twitter_id_1' => array(
                        'mashable'
                    ),
                    'twitter_images' => 'small'
                )
            ),
            'theme' => 'sb-modern-light',
            'position' => 'normal', // Important to make a non-floating block
            'label' => 'On Social Media', // Label for the block header
            'tabable' => 1, // Important to make an ajax tabbed feed block
            'showheader' => 0,
            'width' => 250,
            'height' => 400,
            'results' => 30,
            'cache' => 360,
            'debuglog' => 0
        )
    );
?>

Your social Ajax Tabbed Feed is ready now.

Social Stream Options

The PHP Social Stream by default, use a predefined settings for displaying.
To override these default options and customize your Social Stream, you can pass the relevant inline parameters in the social_stream() function as follows:

General Setting Parameters

These parameters can be used for all type of display modes.

Parameter Default Value Alternative Values Description
id '1' 1 - ∞ Unique ID
Unique ID for the social stream instance. Useful, when you want to have multiple instance of a social stream in the same page.
type 'wall' wall, feed, timeline

Type of social stream
Selecting one of 3 main displaying modes for your social stream is mandatory.

wall - Wall displaying mode
feed - Rotating Feed displaying mode
timeline - Timeline displaying mode
network Social Network IDs
An array of social stream network feed sources - Click here for more details.
theme 'sb-modern-light' sb-modern-light, sb-metro-dark, sb-modern2-light, sb-default-light, sb-flat-light, sb-modern-dark Stream Theme
Select a theme to style your Social Stream. You can have as many as custom themes you like in the config.php file.
layout_image imgexpand imgexpand, imgnormal Item image style
This will define, how to display the image for each item on the Social Wall.
layout_user userpic userpic, usernopic User info position
This will define, how to display the user info for each item on the Social Wall. Picture will be only displayed if exists!
results 30 0 - 100 Results Limit
Limiting the maximum number of results to display on social stream - Maximum 100.
Note: There is a restriction for number of feed output results on each social network. For example, if you enter 100 as "Results Limit", you will only get 50 items from YouTube in each request.
Facebook Group: 20, Tumblr: 50, Pinterest = 25, YouTube: 50, Vimeo: 20, Stumbleupon: 10, Deviantart: 60, RSS: 10 mostly.
words 40 Words Limit
Limiting the description words count to display for each item on social stream - Leave empty for no limit.
commentwords 20 Comment Words Limit
Limiting the comment words count to display for each item - Leave empty for no limit.
titles 15 Title Limit
Limiting the title words count to display for each item on social stream - Leave empty for no limit.
slicepoint 300 Slice Point
Limiting the description characters count to display for each slide on slide show - Leave empty for no limit.
readmore true true, false Read more
Link long blocks of text - If checked, the (…) character at the bottom of each feed item will be linked to the rest of the content.
order 'date' date, random Ordering
Select whether to order the results depending on date or randomly.
filters true true, false Filter networks
If checked, a navigation bar of all active network icons will appear at the bottom of the rotating feed or above the social network wall. These icons will allow the user to filter the social stream items.
loadmore true true, false Load more
Load more social items (Next page) - If checked, a load more bar will appear at the bottom of the social network wall and loads more social items if clicked.
links true true, false Links
Open Links In New Window - If checked, all links will open in a new window else they will be open in the parent window.
nofollow true true, false Nofollow links
Add nofollow attribute on links - If checked, all links will have the status of nofollow.
https true true, false Use https
Load images over https - If checked, all links and images will be getting over https.
iframe 'media' media, slide, off

Lightbox content
This will define, how to display the social item information in lightbox window. If enabled, all media (images/videos) will be open in a lightbox window.

media - Only open media in a lightbox window.
slide - Open all items detailed information as slideshow.
off - Disabled
filters_order 'facebook,twitter,google,tumblr,delicious,pinterest,flickr,instagram,youtube,vimeo,stumbleupon,deviantart,rss,soundcloud,vk,linkedin,vine' Filter networks ordering
Order of the filtering navigation bar that appear at the bottom of the rotating feed or above the social network wall.
live false Stream Auto Update
If enabled, the social board will get updated automatically without the need to refresh the page - If enabled, the "Cache Time" value will be ignored and considered as 0.
live_interval 1 Auto update interval
The time delay for updating the Social Boards (in minutes). Considering that there are some limits on social networks about the number of requests sent to their API, the minimum allowed value is 1.
cache 360 Cache Time
The time delay for caching of Social Streams (in minutes) - reduces up download time. 0 Zero value means no caching. Make sure the `cache` folder inside the script folder is writable by the server (depending on your web hosting server, permissions set to 755, 775, or 777).
crawl 10 Crawl per request
Number of feed crawls per each request. 0 Zero value means to crawl all at once. (depending on your web hosting server resources, some servers can not read a lot of feeds at the same time).
debuglog false true, false Debug Log
Enable/disable debug log - If checked, all script errors will be logged in a file named "log.txt" in script folder. Make sure the `log.txt` file inside the script folder is existed and writable by the server (depending on your web hosting server, permissions set to 644, 655, or 666).

Example Code:
The following code, creates a social network wall in Flat style, displaying the last 30 items of your feeds randomly.

<?php
include( './social-stream/social-stream.php' ); // Path to PHP Social Stream main file
echo social_stream(
        array(
            'id' => '1',
            'type' => 'wall',
            'network' => array(
                'facebook' => array(
                    'facebook_id_1' => array(
                        '624290390999239' // Replace with your Facebook page ID
                    ),
                    'facebook_pagefeed' => 'posts'
                )
            ),
            'theme' => 'sb-flat-light',
            'order' => 'random',
            'itemwidth' => 250,
            'results' => 30,
            'add_files' => true
        )
    );
?>

Wall Display Parameters

These parameters can be used only for Wall display mode.

Parameter Default Value Alternative Values Description
transition 400 Transition Duration
Duration of the transition when items change position or appearance - in milliseconds - 0 means no transitions.
stagger Stagger
Staggers item transitions, so items transition incrementally after one another - in milliseconds - Leave empty to disable it.
originLeft true true, false Filter Direction
Let layout to start render from left to right or, right to left.
fixWidth false true, false Fixed Width
If enabled, the "Item Width" value will be applied to each wall item - Responsive Breakpoints will be ignored.
breakpoints array('5', '4', '4', '3', '2', '2', '1') Responsive Breakpoints
Defines the number of items (columns) shwoing on each row for different viewport sizes - Requires "Fixed Width" to be disabled.
itemwidth 230 Item Width
Width of feed item (px) - Do not leave empty!
gutterX 10 Gutter X
The horizon spacing between the column - Leave empty for auto value.
gutterY 10 Gutter Y
The vertical spacing between the row - Leave empty for auto value.

Example Code:
The following code, creates a social network wall in Modern style, rendering from right to left without animation.

<?php
include( './social-stream/social-stream.php' ); // Path to PHP Social Stream main file
echo social_stream(
        array(
            'id' => '1',
            'type' => 'wall',
            'network' => array(
                'facebook' => array(
                    'facebook_id_1' => array(
                        '624290390999239' // Replace with your Facebook page ID
                    ),
                    'facebook_pagefeed' => 'posts'
                )
            ),
            'theme' => 'sb-modern-light',
            'filter_direction' => true,
            'animate' => false,
            'itemwidth' => 250,
            'results' => 30,
            'add_files' => true
        )
    );
?>

Rotating Feed Display Parameters

These parameters can be used only for rotating feed display mode.

Parameter Default Value Alternative Values Description
rotate_speed 100 Animation Speed
Defines the animation speed (in ms) of the rows moving up or down.
duration 4000 Animation Duration
Defines the times (in ms) before the rows automatically move.
direction 'up' up, down Animation Direction
Sets the direction of rotating feed movement to either "up" or "down".
controls true true, false Controls
Stop/start rotating - If checked, a feed control bar will appear at the bottom of the rotating feed allowing user to stop/start the rotating feed or go to next/previous item.
autostart 1 1, 0 Auto Start rotating
Enable/disable auto start on load.
pauseonhover 1 1, 0 Pause On Mouse Hover
Enable/disable pause when mouse hovers the rotating feed element.
width 250 Block Width
Width of feed block (px) - Leave empty for full width.
height 400 Height
Height of widget (px) - Leave empty for no height.

Example Code:
The following code, creates a social network feed in Default style, moving from up to down that do not automatically start rotating on load.

<?php
include( './social-stream/social-stream.php' ); // Path to PHP Social Stream main file
echo social_stream(
        array(
            'id' => '1',
            'type' => 'feed',
            'network' => array(
                'facebook' => array(
                    'facebook_id_1' => array(
                        '624290390999239' // Replace with your Facebook page ID
                    ),
                    'facebook_pagefeed' => 'posts'
                )
            ),
            'theme' => 'sb-default-light',
            'autostart' => 0,
            'direction' => 'down',
            'itemwidth' => 250,
            'add_files' => true
        )
    );
?>

Carousel Display Parameters

These parameters can be used only for carousel display mode.

Parameter Default Value Alternative Values Description
cs_speed 400 Animation Speed
Defines the animation speed (in ms) of the rows moving left or right.
cs_pause 2000 Transition Speed
The time (in ms) between each auto transition.
autoWidth false true, false Auto Width
If enabled, the "Item Width" value of the General Setting will be applied to each slide - Number of items will be ignored.
cs_item array('4', '3', '2', '2', '1') Number of items
Defines the number of items shwoing in each slide for different viewport sizes - Requires Auto Width to be OFF.
cs_width 250 Slide Width
Width of slide item (px) - Do not leave empty!
cs_rtl false true, false Animation Direction
Sets the direction of carousel feed movement to either "right" or "left".
cs_controls true true, false Controls
Prev/next buttons - If checked, prev/next buttons will be displayed.
cs_auto false true, false Auto Start
If checked, the Slider will automatically start to play.
cs_loop true true, false Loop slide
If checked, will enable the ability to loop back to the beginning of the slide when on the last element - Slide Move will be ignored.
cs_pager false true, false Enable pager
Enable/disable pager option.
slideMove 1 Slide Move
Number of slides to be moved at a time - Requires Loop slide to be OFF.
slideMargin 10 Slide Margin
Spacing between each slide.

Timeline Display Parameters

These parameters can be used only for Timeline display mode.

Parameter Default Value Alternative Values Description
onecolumn false true, false Display layout
To display timeline in one column or based on browser screen width.

Social Network Feed Options

In this section you will find the options that allow you to set up the social networks that you want to include in your Social Stream.

To add a specific social network feed to your Social Stream, you need to declare it using an option (ID, username, search term, etc) depending on type of the network.
Some social networks have multiple type of feeds available. You are required to use at least one of the options available for the social network feed to make it available in your Social Stream output.

Common Feed Options

Social Stream Item Output

The content blocks that you want to be included in each item on the Social Stream. Each social network may have different type of content blocks available.

title => Feed item title
thumb => Display thumbnail - if available
text => Feed item posted text
stat => Display stat block
comments => Display post/photo comments
likes => Display post/photo likes
user => Display user name
share => Include sharing links
info => Feed item icon & date
meta => Feed item meta data
tags => Feed item tags

Facebook

Facebook requires a valid access token to provide the feed's data. Click here for more details.
Facebook provides 4 different feed options:

Parameter Default Value Alternative Values Description
facebook_id_1 1. Facebook Page Feed
The feed of posts (including status updates), photos and links on this page.
Enter the page ID - e.g. 624290390999239. You can find it in your Facebook page setting tab or obtain it from this website
facebook_pagefeed 'feed' posts, tagged, feed

Specific sets of posts
Get specific sets of posts for Facebook page feed.

posts => Show only the posts that were published by this page
tagged => Show the posts that this page was tagged in and the (posts to page)
feed => Show both
facebook_id_2 2. Facebook Group Feed
The feed of posts (including status updates), photos and links on this group.
Enter the group ID - e.g. 7091225894. You can find it in your Facebook group setting tab or obtain it from this website
facebook_id_3 3. Facebook Album/Page Photos
Shows all photos this page is tagged in.
Enter the album ID - e.g. 947092091976094 or the page ID - e.g. 182472465104731. Read this topic on how to find a Facebook album ID.
facebook_id_4 4. Facebook Page Videos
Shows all videos this page is tagged in.
Enter the page ID - e.g. 624290390999239. Read this topic on how to find a Facebook page ID.
facebook_datetime_from Date Time From
Get posts in a certain date/time from Facebook feed.
Format: 'YYYY/MM/DD - e.g. '2015/07/10' or with time included '2015/07/10 4:30'
facebook_datetime_to Date Time To
Get posts in a certain date/time from Facebook feed.
Format: 'YYYY/MM/DD - e.g. '2015/07/30 0:00'
facebook_comments 3 Comments Count
Enter the number of comments to display for facebook album photos
Set to 0 to disable comments.
facebook_likes 5 Likes
Number of likes to display - set to 0 to disable likes.
facebook_image_width 300

Image width
Select the image width for Facebook gallery album posts. If the selected size was not available, a smaller size will be selected.

180 => Thumb - 180px
300 => Tiny - 300px
480 => Very Small - 480px
640 => Small - 640px
720 => Medium - 720px
800 => Large - 800px
960 => Larger - 960px
1280 => X-Large - 1280px
1600 => XX-Large - 1600px
facebook_output 'title,thumb,text,comments,likes,user,share,info' title, thumb, text, comments, likes, user, share, info Social Stream Item Output
Read the Common Feed Options section for more details.

To Get Your Facebook Page/Group ID:

Method 1:
You can find it in your Facebook page/group setting.

Method 2:
Obtain it from this website (Page or Group ID both). Or, from this website (Page ID only).

Method 3:
Type in the following URL in your web browser: https://graph.facebook.com/username
Replace “username” with the name of your Facebook page profile. It should churn out a result including your page ID.

To find a Facebook album ID:

Browse to your Facebook photos page and click on Albums - e.g. https://www.facebook.com/envatomarket/photos_stream?tab=photos_albums
Select an album - e.g. https://www.facebook.com/media/set/?set=a.676459932448951.1073741828.624290390999239&type=3
The album ID is the first set of numbers - in the example above, the album ID would be - 676459932448951

Twitter

Twitter requires authentication to provide the feed's data. Click here for more details.
Twitter provides 3 different feed options:

Parameter Default Value Alternative Values Description
twitter_id_1 1. Twitter Username
Enter a Twitter username without "@" - e.g. username
twitter_id_2 2. Twitter List
To show a Twitter list enter the list ID - e.g. 123456
or enter the owner screen name, then "/" followed by the list slug "username/list_name" - e.g. mashable/social-media
twitter_id_3 3. Search Term/Hashtag
To search enter the search term - e.g. socialmedia or hashtag - e.g. #socialmedia
twitter_since_id

Since ID
Returns results with an ID greater than (that is, more recent than) the specified ID - e.g. 605472728351707136

This will help you to get posts in a certain ID range from Twitter feed. Read this topic on how to find a Tweet ID.
twitter_max_id Max ID
Returns results with an ID less than (that is, older than) or equal to the specified ID - e.g. 605472728351707186
twitter_images 'small' thumb, small, medium, large

Image width
Select the image width for Twitter images.

thumb => Thumb - 150px
small => Small - 340px
medium => Medium - 600px
large => Large - 1024px
twitter_feeds 'retweets,replies' retweets, replies

Feed Data
Feed data to be gathered and displayed.

retweets => Retweets - Include feed item retweets
replies => Replies - Include replies
twitter_output 'thumb,text,user,share,info' thumb, text, user, share, info Social Stream Item Output
Read the Common Feed Options section for more details.
To Get Your Twitter Username:

Browse to your Twitter page - e.g. https://twitter.com/axentmedia
The Twitter username is the last word in the URL - in the example above, that would be - axentmedia

How to find a specific tweet ID?

  1. Go to the Twitter home page at http://www.twitter.com/. If you are already logged in, you will be redirected to your Twitter page. Otherwise, login to your twitter account, which will also take you to your Twitter page.
  2. In the list of all tweets, find the specific tweet for which you wish to grab the ID.

  1. There is a date/time stamp underneath each tweet as pictured above. Click that date/time stamp.
  2. This will take you to the page for the single tweet. The URL displayed at the top of your browser will look something like this:
    https://twitter.com/DesignerDepot/status/605472728351707136
  3. The tweet ID is the last set of numbers in the URL - in the example above, that would be - 605472728351707136

Google+

Google+ requires an API Key to display feed data. Click here for more details.
Google+ provides 1 feed option:

Parameter Default Value Alternative Values Description
google_id_1 Google Profile ID
Enter your Google+ profile ID - e.g. 112592709425670873637
google_output 'title,thumb,text,stat,user,share,info' title, thumb, text, stat, user, share, info Social Stream Item Output
Read the Common Feed Options section for more details.
To find your Google+ profile ID:

Browse to your Google+ page - e.g. https://plus.google.com/112592709425670873637
Your Google+ profile ID is the last set of numbers in the URL - in the example above, that would be - 112592709425670873637

Tumblr

Tumblr provides 1 feed option:

Parameter Default Value Alternative Values Description
tumblr_id_1 1. Tumblr Username
Enter a Tumblr username - e.g. username
tumblr_thumb 250 75, 100, 250, 400, 500, 1280

Thumbnail Width
Select the width of the thumbnail image.

75 => Width: 75px
100 => Width: 100px
250 => Width: 250px
400 => Width: 400px
500 => Width: 500px
1280 => Width: 1280px
tumblr_video 250 250, 400, 500

Video Width
Width of inline video player.

250 => Width: 250px
400 => Width: 400px
500 => Width: 500px
tumblr_embed true true, false Embed video
If true, all videos will be displayed inline - (Embed/Direct Link To Tumblr).
tumblr_output 'title,thumb,text,user,share,info' title, thumb, text, user, share, info Social Stream Item Output
Read the Common Feed Options section for more details.
How to get a Tumblr username?

To get a Tumblr username, browse to your Tumblr blog page - e.g. http://ghostphotographs.tumblr.com/
The Tumblr Username is the first word in the URL - in the example above, that would be - ghostphotographs

Delicious

Delicious provides 1 feed option:

Parameter Default Value Alternative Values Description
delicious_id_1 Delicious username
Enter a Delicious username to get your bookmarks - e.g. username
delicious_output 'title,text,user,share,info' title, text, user, share, info, tags Social Stream Item Output
Read the Common Feed Options section for more details.

Pinterest

Pinterest provides 2 different feed options:

Parameter Default Value Alternative Values Description
pinterest_id_1 1. Pinterest username
Enter a Pinterest username - e.g. username
pinterest_id_2 2. Pinterest board
To show a Pinterest board enter the username, then "/" followed by social stream name "username/board_name" - e.g. 2013TopPins/techology-trends
pinterest_image_width 237

Image width
Select the image width for Pinterest images.

237 => Thumb - 237px
736 => Large - 736px
pinterest_output 'title,thumb,text,user,share,info' title, thumb, text, user, share, info Social Stream Item Output
Read the Common Feed Options section for more details.
How to find a Pinterest username?

To get a Pinterest username, browse to your Pinterest page - e.g. https://www.pinterest.com/2013TopPins/
The Pinterest Username is the last word in the URL - in the example above, that would be - 2013TopPins

How to find a Pinterest board?

To show a Pinterest board enter the username, then "/" followed by social stream name.
Browse to a Pinterest board - e.g. http://www.pinterest.com/2013TopPins/techology-trends/
In the example above, you would select - 2013TopPins/techology-trends

Flickr

Flickr provides 2 different feed options:

Parameter Default Value Alternative Values Description
flickr_id_1 1. Flickr User ID
Enter a Flickr User ID - e.g. 46221135@N04 - You can obtain it from this website
flickr_id_2 2. Flickr Group ID
To use a flickr group enter the group ID - e.g. 34427465497@N01 - Use the same method mentioned above.
flickr_thumb 'm' s, q, t, m, n, z, c, b

Thumbnail Size
Size of thumbnail image.

s => small square 75x75
q => large square 150x150
t => tiny, 100 on longest side
m => thumbnail, 240 on longest side
n => small, 320 on longest side
z => medium 640, 640 on longest side
c => large 800, 800 on longest side
b => Extra large, 1024 on longest side
flickr_output 'title,thumb,text,user,share,info' title, thumb, text, user, share, info, tags Social Stream Item Output
Read the Common Feed Options section for more details.
To get your Flickr User ID: To get a Flickr group ID:

Instagram

Instagram requires your API Access Token to provide the feed's data. Click here for more details.
Instagram provides 4 different feed options:

Parameter Default Value Alternative Values Description
instagram_id_1 1. Instagram Username
Enter an username - e.g. username
instagram_id_2 2. Instagram search tag
To search by tag enter the tag name (contiguous) - e.g. paris
instagram_id_3 3. Instagram location ID
To show the latest posts by a location, enter the location ID - e.g. 12345
instagram_id_4 4. Instagram geographical location
To search by geographical location start with the latitude, longitude and distance in meters (up to a maximum of 5000) all separated by a "," - e.g. 48.858844,2.294351,2000
Read this topic on how to find, latitude and longitude coordinates of a location.
instagram_images 'low_resolution' thumbnail, low_resolution, standard_resolution

Image width
Select the image width for Instagram images.

thumbnail => Thumbnail - 150px
low_resolution => Low Resolution - 306px
standard_resolution => Standard Resolution - 640px
instagram_comments 3 Comments
Number of comments to display - set to 0 to disable likes.
instagram_likes 5 Likes
Number of likes to display - set to 0 to disable likes.
instagram_output 'title,thumb,text,comments,likes,user,share,info' title, thumb, text, comments, likes, user, share, info, tags Social Stream Item Output
Read the Common Feed Options section for more details.

How to get your Instagram username?

To get your Instagram username, browse to your Instagram profile page - e.g: http://instagram.com/katyperry
Your Instagram Username is the last word in the URL - in the example above, that would be - katyperry

How to find latitude and longitude coordinates of a location?
  1. Browse to this URL: http://www.gps-coordinates.net/
  2. Enter your location in the "Address" field.
  3. Click on "Get GPS Coordinates" button.
  4. You will get the Latitude and Longitude of the entered location on the map.

Youtube

Youtube provides 3 different feed options:

Parameter Default Value Alternative Values Description
youtube_id_1 1. YouTube username
Returns a list of videos uploaded by this user - Enter a YouTube username - e.g. username
youtube_id_2 2. YouTube playlist
Returns a collection of playlist items - Enter the unique ID of the playlist for which you want to retrieve playlist items - e.g. PLsBcifUwsKVXunQPoySupBM6QCcWliTKi
youtube_id_3 3. YouTube search term
Returns a collection of search results that match the search term query you specified - e.g. music
youtube_id_4 4. YouTube channel ID
Returns a list of videos uploaded by this channel - Enter a YouTube channel ID - e.g. UC1yP5nx6JNEBQI3ps2XFMpz
youtube_thumb 'medium' default, medium, high, standard, maxres

Thumbnail Size
Select YouTube image size.

default => Default - 120px × 90px
medium => Medium - 320px × 180px
high => High - 480px × 360px
standard => Standard - 640px × 480px
maxres => Max - 1280px × 720px
youtube_output 'title,thumb,text,user,share,info' title, thumb, text, user, share, info Social Stream Item Output
Read the Common Feed Options section for more details.
How to get a Youtube username?

To get a Youtube username, browse to the desired Youtube profile page - e.g: https://www.youtube.com/user/envatopsd
The Youtube username is the last word in the URL - in the example above, that would be - envatopsd

How to get a Youtube playlist ID?

To get a Youtube playlist ID, on the desired Youtube profile page click on the Playlists tab, select and browse to a playlist - e.g: https://www.youtube.com/watch?v=z4icxr8B7ik&list=PLsBcifUwsKVXunQPoySupBM6QCcWliTKi
The playlist ID is the last set of characters in the URL - in the example above, that would be - PLsBcifUwsKVXunQPoySupBM6QCcWliTKi

Vimeo

Vimeo provides 1 feed option:

Parameter Default Value Alternative Values Description
vimeo_id_1 1. Vimeo username
Enter a Vimeo username - e.g. abcdefg
vimeo_thumb 'medium' small, medium, large

Thumbnail Size
Size of thumbnail image.

small => Small - 100x75
medium => Medium - 200x150
large => Large - 640
vimeo_output 'title,thumb,text,user,share,info' title, thumb, text, user, share, info Social Stream Item Output
Read the Common Feed Options section for more details.
How to get a Vimeo username?

To get a Vimeo username, browse to the Vimeo profile - e.g: http://vimeo.com/bvanpeski
Your Vimeo username is the last name in the Vimeo profile URL - in the example above, that would be - bvanpeski

Stumbleupon

Stumbleupon provides 1 feed option:

Parameter Default Value Alternative Values Description
stumbleupon_id_1 Stumbleupon username
Enter a Stumbleupon username - e.g. abcd
stumbleupon_feeds 'comments,likes' comments, likes

Feed Data
Feed data to be gathered.

comments => Comments - User comments
likes => Likes - User likes
stumbleupon_output 'title,thumb,text,user,share,info' title, thumb, text, user, share, info Social Stream Item Output
Read the Common Feed Options section for more details.
How to get a Stumbleupon username?

To get a Stumbleupon username, browse to the Stumbleupon profile - e.g: http://www.stumbleupon.com/stumbler/mashable
The Stumbleupon username is the last set of characters in the URL - in the example above, that would be - mashable

Deviantart

Deviantart provides 1 feed option:

Parameter Default Value Alternative Values Description
deviantart_id_1 1. Deviantart username
Enter a Deviantart username - e.g. abcd
deviantart_output 'title,thumb,text,user,share,info' title, thumb, text, user, share, info Social Stream Item Output
Read the Common Feed Options section for more details.

RSS Feed

RSS Feeds have 1 feed option:

Parameter Default Value Alternative Values Description
rss_id_1 1. RSS feed URL
Enter the RSS feed URL - e.g. http://feeds.bbci.co.uk/news/world/europe/rss.xml
rss_text 0 0, 1

Text Info
Select Snippet for displaying a summary of the post or select Full Text to include any links or images in the feed.

0 => Snippet
1 => Full Text
rss_output 'title,thumb,text,user,share,info' title, thumb, text, user, tags, share, info Social Stream Item Output
Read the Common Feed Options section for more details.

SoundCloud

SoundCloud requires an API Client ID to provide the feed's data. Click here for more details.
SoundCloud provides 1 feed option:

Parameter Default Value Alternative Values Description
soundcloud_id_1 SoundCloud User Tracks
The list of tracks of the user.
Enter the SoundCloud Username - e.g. mayerhawthorne
soundcloud_output 'title,text,thumb,user,share,info,meta' title, text, thumb, user, share, info, meta, tags Social Stream Item Output
Read the Common Feed Options section for more details.
SoundCloud User Tracks

The list of tracks of the user. Enter the SoundCloud Username - e.g. mayerhawthorne

To find your SoundCloud Username:

Browse to your SoundCloud page - e.g. https://soundcloud.com/axentmedia
Your SoundCloud Username is the last set of characters in the URL - in the example above, that would be - axentmedia

VK

VK provides 1 feed option:

Parameter Default Value Alternative Values Description
vk_id_1 VK Wall Domain
Returns a list of posts on a user wall or community wall.
Enter the user or community short address - e.g. wphelpme or, ID of the user or community that owns the wall - e.g. id999999999.
vk_id_2 VK Wall Owner ID
Returns a list of posts on a user wall or community wall.
Enter the ID of the user or community that owns the wall. By default, current user ID - e.g. 99999999 Use a negative value - to designate a community ID - e.g. -99999999.
vk_pagefeed 'all' owner, tagged, all

Filter to apply
Apply filter and get specific sets of posts from VK wall feed.

owner => Show only the posts by the wall owner
tagged => Show the posts by someone else
all => Show both posts by the wall owner and others
vk_image_width 604 75, 130, 604, 807, 1280, 2560

Image width
Select the image width for VK gallery album posts. If the selected size was not available, a smaller size will be selected.

75 => Thumb - 75px
130 => Small - 130px
604 => Medium - 604px
807 => Large - 807px
1280 => Larger - 1280px
2560 => X-Large - 2560px
vk_output 'thumb,text,stat,user,share,info' thumb, text, stat, user, share, info Social Stream Item Output
Read the Common Feed Options section for more details.

LinkedIn

LinkedIn requires an API Key to display feed data. Click here for more details.

LinkedIn provides 1 feed option:

Parameter Default Value Alternative Values Description
linkedin_id_1 LinkedIn Company Page ID
Returns a list of the company updates.
Enter the LinkedIn Company Page ID - e.g. 10354180.

Vine

Vine provides 1 feed option:

Parameter Default Value Alternative Values Description
vine_id_1 Vine User Timeline
Returns a list of user timeline updates.
Enter the Vine username or ID - e.g. 974522892907909120.

API Credentials

Some networks require authentication to provide feed data. Open the social-stream/config.php file and set the API Credentials for each network.


// API Credentials
$GLOBALS['api'] = array(
    'facebook' => array(
        'facebook_access_token' => 'Replace with a valid Facebook App Token'
        // Use a long-lived App Token - e.g. <numeric part>|<alphanumeric part>.
    ),
    'twitter' => array(
        'twitter_api_key' => 'Replace with your Twitter API Key',
        'twitter_api_secret' => 'Replace with your Twitter API Secret',
        'twitter_access_token' => 'Replace with your Twitter OAuth Access Token',
        'twitter_access_token_secret' => 'Replace with your Twitter OAuth Access Token Secret'
    ),
    'google' => array(
        'google_api_key' => 'Replace with your Google API KEY'
    ),
    'instagram' => array(
        'instagram_access_token' => 'Replace with your Instagram Access Token'
    ),
    'flickr' => array(
        'flickr_api_key' => 'Replace with your Flickr API Key'
    ),
    'tumblr' => array(
        'tumblr_api_key' => 'Replace with your Tumblr API Key'
    ),
    'soundcloud' => array(
        'soundcloud_client_id' => 'Replace with your SoundCloud Client ID'
    ),
    'linkedin' => array(
        'linkedin_access_token' => 'Replace with your LinkedIn Access Token'
    ),
    'vimeo' => array(
        'vimeo_access_token' => 'Replace with your Vimeo Access Token'
    )
);

Facebook API Credentials

In this quick guide we are going to show you how to create an App in Facebook and get the App Token. This is required for all Facebook feeds.

  1. Login to your Facebook account.
  2. After login, go to this link: https://developers.facebook.com/apps/ and then click on, “Add a New App” button.

  1. If you have not registered to become a developer you should do that now by pressing the “Register Now” button on the page. It's a quick and easy process to get signed up.
  2. If you are registered as a developer, the “Add a New App” page will be open. Then, click Website as your platform.

  1. Next, enter a custom App Name in the Display Name input and then click Create New Facebook App ID.

  1. In the “Create a New App ID” window, choose any option for Category and click “Create App ID” button.

  1. Your App is created now. Go back to your Apps page by choosing the menu item “My Apps” from top of the page. Your page should now look something similar to this.

  1. Choose the menu item “Access Token Tool” from “Tools & Support” menu on top of the page or manually browse to: https://developers.facebook.com/tools/accesstoken/ page.
  2. Copy your App Token and paste into its respective field facebook_access_token in your Social Stream social-stream/config.php file.

Twitter API Credentials

Required For All Twitter Feeds.

To create a Twitter API credentials:
  1. Browse to: https://apps.twitter.com/ and sign in with your Twitter Account.
  2. You will be redirected to your Twitter Application Management area. Then click on "Create New App" button.

  1. Fill out the Name, Description & Website fields.
  2. Read the "Developer Agreement" and check the "Yes I agree" box.
  3. Click "Create Your Twitter Application" button.

After creating the Application, the Application Details page opens.

  1. Go to "Keys and Access Tokens" tab.
  2. Click on the "Generate Consumer Key and Secret" button.
  3. Click on the "Generate My Access Token and Token Secret" button.

Copy the API Key, API Secret, Access Token and Access Token Secret values and paste into their respective fields in your Social Stream social-stream/config.php file and the script should now have access to your Twitter feed data.

Google API Credentials

To create and obtain your own Google API Key:

  • Browse to your: Google Developers Console and sign-in with your Google account.
  • A default project called "API Project" is created for you when you first login to the Developers Console. You can use that project, or create a new one by clicking the "Create Project" button at the top of the window.
  • Select one of the projects in the list - e.g. "API Project"

  • If you select the previously created "API Project" for the first time, a popup opens asking you to set a Project ID. Click OK and continue.
  • Click the blue bars button and select API Manager from the left sidebar.

  • Under Google APIs, search and click on "Google+ API".
  • Click the "Enable API" button on top of the "Google+ API" page to turn it on.

  • Click back, search and click on "YouTube Data API v3".
  • Click the "Enable API" button on top of the "YouTube Data API v3" page to turn it on.

  • Click back and you will have "Google+ API" and "YouTube Data API v3" under API Library tab.

  • Click Credentials on the left sidebar, under Public API access, click "Create new key" button.
  • Copy your API KEY and paste into its respective field in your Social Stream social-stream/config.php file and the script should now have access to your Google feed data.

Instagram API Credentials

To create an Instagram API Access Token, use one of the following methods:

Method 1 (Using our online App):

  1. Browse to this URL: http://axentmedia.com/instagram-access-token/
  2. Click on green "Generate Access Token" button.
  3. You will need to login to your Instagram account.

  1. Then, you will be redirected back to the http://axentmedia.com/instagram-access-token/ website displaying your Access Token.
  2. Copy your Access Token and paste into its respective field instagram_access_token in your Social Stream social-stream/config.php file.

Method 2 (Using your App):

This method requires your app to be approved by Instagram.

  • Browse to https://www.instagram.com/developer/. Login to your account. Then click on Manage Clients, and finally click on Register a New Client.
  • Fill out the required fields for registering a new Client ID.

  • Set the OAuth redirect_uri field to "http://localhost" (without quotes).
    The reason you should use localhost is for security. In computer networking localhost is the web address of the computer you are using. So when Instagram redirects to your redirect_uri, all of your sensitive information is passed from Instagram's servers directly to your computer.
  • Go to Security tab and uncheck the "Disable implicit OAuth" box or else this method will not work.

  • Once all of the fields are filled out click submit.
  • Paste the following url into your web browser:

    https://instagram.com/oauth/authorize/?client_id=[CLIENT_ID_HERE]&redirect_uri=http://localhost&response_type=token&scope=public_content

    and add the client id you generated to the url replacing "[CLIENT_ID_HERE]" (without quotes).
  • Hit enter, and you will connect to Instagram's servers. Instagram will ask you whether you want to grant the client you registered in step 2 access to your account. Once your client has been granted access to your account, Instagram will redirect your browser to your localhost and you will see a url similar to the following url in your browser address bar:


    Your newly generated access token is appended to this url after localhost/#access_token=

  • Copy your Access Token and paste into its respective field instagram_access_token in your Social Stream social-stream/config.php file.

Tumblr API Credentials

To create and obtain your Tumblr API Key:
  • Browse to this page: https://www.tumblr.com/oauth/register. You will be redirected to "Login" page if you are not login to your account.
  • Fill out the form as highlighted below and click on Register button to complete.

  • In the next page, you will be provided with an Oauth Consumer Key and Secret Key. Copy the "Oauth Consumer Key" string and paste into its respective field tumblr_api_key in your Social Stream social-stream/config.php file.

Flickr API Credentials

To create and obtain your Flickr API Key:

  • In the next page, you will be provided with an API Key and Secret Key. Copy the "Key" string and paste into its respective field flickr_api_key in your Social Stream social-stream/config.php file.

SoundCloud API Credentials

To create and obtain your SoundCloud Client ID:
  1. Browse to this page: http://soundcloud.com/you/apps/new. You will be redirected to "Sign in" page if you are not login to your account.
  2. Enter a name for your app - e.g. "Social Stream" and click Register.
  3. In the next page, copy the "Client ID" string and paste into its respective field soundcloud_client_id in your Social Stream social-stream/config.php file.

LinkedIn API Credentials

To create and obtain your LinkedIn Access Token:
  1. Browse to https://www.linkedin.com/developer/apps and log in, if necessary.
  2. Click on Create Application on top right of the page.
  3. Enter all required fields, you can use dummy info except Website URL, enter the URL of the website where you want to use the script.
  4. Press Submit.
  5. Browse to LinkedIn API console on top of the page.
  6. Choose OAuth2 in Authentication dropdown.

  1. You will be redirected to sign in screen. Sign in with LinkedIn.
  2. Now choose first method in list of API methods (if list is not visible click gray area on the right edge of screen)
  3. Click Send button on the right.

  1. Now you can see a URL in Request section.
  2. Copy the token string from URL starting after = and ending before &format=json (don't include & in token).

  1. Paste token into its respective field linkedin_access_token in your Social Stream social-stream/config.php file.

Vimeo API Credentials

To create and obtain your Vimeo Access Token:
  • Browse to this page: https://developer.vimeo.com/apps/new. You will be redirected to "Sign in" page if you are not login to your account.
  • Fill out the form as highlighted below and click on "Create app" button to complete.

  • In the next page, scroll to the end of the page where you can find the "Generate Token" button.
  • Click on the "Generate Token" button and copy the "Your new Access token" string and paste token into its respective field vimeo_access_token in your Social Stream social-stream/config.php file.

Manage Themes

To create/customize themes open the social-stream/config.php file and set your appropriate changes in $GLOBALS['themes'] array.

Creating a new Theme

To create a Theme, add a new unique item into $GLOBALS['themes'] array.


// Themes
$GLOBALS['themes'] = array(
    // Modern Light
    'sb-modern-light' => array( // <-- CSS Class Name
        'layout' => 'modern',
        'font_size' => '11',
        'social_colors' => array(
            'facebook' => '#305790',
            'twitter' => '#06d0fe',
            'google' => '#c04d2e',
            'tumblr' => '#2E4E65',
            'delicious' => '#2d6eae',
            'pinterest' => '#cb1218',
            'flickr' => '#ff0185',
            'instagram' => '#295477',
            'youtube' => '#b80000',
            'vimeo' => '#00a0dc',
            'stumbleupon' => '#ec4415',
            'deviantart' => '#495d51',
            'rss' => '#d78b2d',
            'soundcloud' => '#4c75a3',
            'vk' => '#ff3300',
            'linkedin' => '#1884BC',
            'vine' => '#39a97b'
            ),
        'type_icons' => '',
        'custom_css' => '',
        'wall' => array(
            'background_color' => '',
            'border_color' => '',
            'border_size' => 0,
            'background_image' => '',
            'font_color' => '#000000',
            'link_color' => '#305790',
            'item_background_color' => '#ffffff',
            'item_border_color' => '#e5e5e5',
            'item_border_size' => 1
        ),
        'timeline' => array(
            'background_color' => '',
            'border_color' => '',
            'border_size' => 0,
            'background_image' => '',
            'font_color' => '#000000',
            'link_color' => '#305790',
            'item_background_color' => '#ffffff',
            'item_border_color' => '#e5e5e5',
            'item_border_size' => 1
        ),
        'feed' => Array(
            'title_background_color' => '#dd3333',
            'title_color' => '#ffffff',
            'background_color' => '#f2f2f2',
            'border_color' => '#e5e5e5',
            'border_size' => 1,
            'background_image' => '',
            'font_color' => '#000000',
            'link_color' => '#305790',
            'item_background_color' => '#ffffff',
            'item_border_color' => '#e2e2e2',
            'item_border_size' => 1
        ),
        'feed_sticky' => Array(
            'title_background_color' => '#dd3333',
            'title_color' => '#FFFFFF',
            'opener_image' => '',
            'background_color' => '#f2f2f2',
            'border_color' => '#d6d6d6',
            'border_size' => 1,
            'background_image' => '',
            'font_color' => '#000000',
            'link_color' => '#305790',
            'item_background_color' => '#ffffff',
            'item_border_color' => '#e2e2e2',
            'item_border_size' => 1
        ),
        'feed_carousel' => Array(
            'title_background_color' => '#dd3333',
            'title_color' => '#ffffff',
            'background_color' => '#f2f2f2',
            'border_color' => '#e5e5e5',
            'border_size' => 1,
            'background_image' => '',
            'font_color' => '#000000',
            'link_color' => '#305790',
            'item_background_color' => '#ffffff',
            'item_border_color' => '#e2e2e2',
            'item_border_size' => 1
        )
    )
    // And continue with more theme items...
    );

General Theme Options

CSS Class Name

This is the name for the theme CSS class selector (without dot).
You will also use this name as theme parameter in social_stream() function to point to your desired theme.

Parameter Default Value Alternative Values Description
layout default, flat, modern, modern2, metro Social Stream Layout
The social stream layout is the main displaying structure of the output feed items. We have created 4 different built-in layouts for the social stream. You can create your own layout and put in the social-stream/layout/ folder to use here. For more information on how to create your own custom layout click here.
font_size 0 - ∞ Font Size
In order to set a font size (in px) for the Social Stream. This is the base font size for all type of social streams.
social_colors Social Networks Color
You can change the background colors used for each social network. Enter network colors as an array in, RGB hex format - e.g. array('facebook' => '#305790', 'twitter' => '#06d0fe', ...). These colors apply to network icons, block footers or anywhere defined in layout files.
social_icons Social Networks Icons
You can change the icon used for each social network. To change the network icons, enter the direct URL of the icon files as an array - e.g. array('http://icon1', 'http://icon2', ...). Some layouts do not use image icons.
type_icons Post Type Icons
You can change the icon used for each post type. To change the type icons, enter the direct URL of the icon files as an array - e.g. array('http://icon1', 'http://icon2', ...).
custom_css Custom CSS
Custom CSS for styling the Social Stream can be entered into this text field. Any CSS rules included here, will automatically be inserted into the page.
As an example you can write your CSS code something like this:
.sboard.<class-name> .sb-item { font-family: Arial, sans-serif; }
Replace <class-name> with the "CSS Class Name" in the current theme.

Dedicated Theme Options

Each type of social stream (Wall, Timeline, Feed, Sticky Feed or Carousel Feed) has it's dedicated options in a separate tab.

Parameter Default Value Alternative Values Description
background_color Body Background Color
This color applies to your Social Stream background. Select the background color in RGB hex format - e.g. #f3f3f3.
border_color Body Border Color
Select the border color of the Social Stream in RGB hex format - e.g. #d9d9d9.
border_size Body Border Size
In order to set a border size (in px) for the Social Stream.
background_image Body Background Image
In order to set a background image for the Social Stream.
font_color Font Color
Select the font color for the feed item in RGB hex format - e.g. #000000.
link_color Link Color
The font color for the links in feed item. Add color in RGB hex format - e.g. #305790.
item_background_color Item Background Color
Select the background color for the feed item in RGB hex format.
item_border_color Item Border Color
Select the border color for the feed item in RGB hex format.
item_border_size Item Border Size
In order to set a border size (in px) for the feed item. - e.g. 1

To create your own custom layout:
  • Edit this file: social-stream/public/css/styles.css on your website using an FTP client and add your own css at the end of the file.
  • Browse to this directory: social-stream/layout and create a new .php file with your own layout name - e.g. mylayout.php
  • Your new layout will be available to be useed as layout parameter in $GLOBALS['themes'] array in social-stream/config.php file.

Manipulation

Sometimes you may wanted to pin/stick an item on top of your created Social Stream or remove an item from the Social Stream. To do this, add the list of social update links as an array into the "pins" (for pinning) or "remove" (for removing) parameters in the social_stream() function.
Look at the following example to find out more:

<?php
include( './social-stream/social-stream.php' ); // Path to PHP Social Stream main file
echo social_stream(
        array(
            'id' => '1',
            'type' => 'wall',
            'network' => array(
                'facebook' => array(
                    'facebook_id_1' => array(
                        '624290390999239'
                    )
                ),
                'twitter' => array(
                    'twitter_id_3' => array(
                        'socialmedia'
                    )
                ),
                'soundcloud' => array(
                    'soundcloud_id_1' => array(
                        'mayerhawthorne'
                    )
                ),
                'vk' => array(
                    'vk_id_1' => array(
                        'worldoftanks'
                    )
                )
            ),
            'theme' => 'sb-modern-light',
            'order' => 'random',
            // To pin/stick an item on top of your Social Stream
            'pins' => array(
                'https://www.facebook.com/envatomarket/photos/a.676459932448951.1073741828.624290390999239/853675044727438/?type=1',
                'http://soundcloud.com/mayerhawthorne/the-stars-are-ours-disco-version',
                'http://vk.com/wall-9159189_6258236'
            ),
            // To remove an item from the Social Stream
            'remove' => array(
                'http://vk.com/wall-9159189_6262557',
                'https://twitter.com/nicohof1/status/618380737377492992'
            )
        )
    );
?>

How to find social stream items' links?

Each item on social stream has a date/time in its footer area that is linked to the original post. You can copy that link to use.

Translation

To translate Social Stream to your local language:

  1. Open the social-stream/config.php file in an editor.
  2. Set the SB_LOCALE variable to your desired language that you want to create a translation for - e.g. define( 'SB_LOCALE', 'nl_NL' ); for Nederlands.
  3. Create the related file for this language (if not exist) in social-stream/language/ folder - e.g. social-stream-nl_NL.php and open in an editor.
  4. Upload the generated social-stream-xx_XX.php file from your computer into social-stream/language/ folder on your website using an FTP client.
<?php
$_['tags'] = "Tags";
$_['posted'] = "Gepost";
$_['show_all'] = "Toon Alles";
$_['comments'] = "reacties";
$_['likes'] = "ik-leuks";
$_['load_more'] = "Laad meer";
$_['a_long_while_ago'] = "een lange tijd geleden";
$_['over_2_years_ago'] = "Meer dan 2 jaar";
$_['over_a_year_ago'] = "meer dan een jaar geleden";
$_['about_a_year_ago'] = "een jaar geleden";
$_['d_months_ago'] = "%d maanden geleden";
$_['last_month'] = "vorige maand";
$_['3_weeks_ago'] = "3 weken geleden";
$_['2_weeks_ago'] = "2 weken geleden";
$_['last_week'] = "vorige week";
$_['d_days_ago'] = "%d dagen geleden";
$_['yesterday'] = "gisteren";
$_['d_hours_ago'] = "%d uur geleden";
$_['an_hour_ago'] = "een uur geleden";
$_['d_minutes_ago'] = "%d minuten geleden";
$_['just_now'] = "zojuist";
?>

FAQ

There is no feed to show or you are not connected to the world wide web!

This message is usually caused for one of the following reasons:

  1. You have not declared any social network ID in your social_stream() function parameters. Read about Social Stream Options.
  2. API Credentials for Twitter is not correctly set or is not valid. Read this topic for details about Twitter API Credentials configuration.
  3. Google+ API Key is not valid. Read this topic to find that how to set Google+ API Key.
  4. Your server has not access to the internet.

After fixing the problem, try cleaning the cache files in the social-stream/cache/ directory.

The social_stream() function appears as a simple text on the website instead of a Social Stream

If you see the social_stream() function appears in your website as a text instead of a Social Stream, it is caused for one of the following reasons:

  1. PHP language interpreter is not installed on your website's server.
  2. You have saved your document with an unknown extension for PHP or PHP can not interpret your code.

The Social Stream is working but, some networks do not appear in social stream

  1. Network account is new and there isn't anything found in its feed or there is no public activity to show on the public feed.
  2. Something is incorrectly cached. Try cleaning the cache from social-stream/cache/ directory.

Facebook feed is not showing

There could be one the following reasons that your Facebook feed may not work:

  1. Make sure that you have set up your Facebook API Credentials correctly. Read this topic for details about Facebook API Credentials configuration.
  2. Your Facebook page ID or Album ID is incorrect. Read this topic on how to find your Facebook IDs.
  3. You are using a Facebook profile ID instead of a page ID. Facebook do not provide feed data for personal profiles.
  4. Your Facebook settings restrict the user that may view your page. You have to remove any age/profanity restrictions from your Facebook page.

Twitter feed is not showing

  1. Make sure that you have set up your Twitter API Credentials correctly. Read this topic for details about Twitter API Credentials configuration.
  2. If your Twitter API credentials is valid, this may be due to the Twitter API limits that is 180 calls per 15 minutes.

Tweets older than a week for a hashtag or search term does not display on my social board

Unfortunately, this is Twitter API limitations for hashtags or any search that is made via its API platform and we can't change this rule. The Search API is not complete index of all Tweets, but instead an index of recent Tweets.
Please check Twitter Search API Documentation for your reference.

Google+ feed is not showing

  1. Your Google page/profile ID or Username is incorrect. Read this topic on how to find your Google+ ID.
  2. Make sure that you have set up your Google+ API Key and it is valid. Read this topic to find that how to set Google+ API Key.
  3. Your Google settings restrict the user that may view your page. You have to remove any Target Audience restrictions from your Google+ page/profile.
    Please, note that Google does not provide any items that is published on your page before you remove the age restriction.

Instagram feed is not showing

  1. Instagram Username is incorrect.
  2. Make sure that you have set up your API Access Token and it is valid. Read this topic to find that how to set Instagram API Access Token.

Why do I need to create API credentials?

Without creating apps and adding API tokens and keys, your website will not be able to connect to the Social Networking servers. The token authentication makes a secure channel via Social Network server and your website to get the permission to access your social profile and fetch your social feed.

How many sites can I use PHP Social Stream on?

You need to purchase one license for each site you want to use PHP Social Stream on.
1 site = 1 license, 2 sites = 2 licenses, 3 sites = 3 licenses and so on.
It doesn’t matter if they are all in use by the same company, on the same server, by the same developer, etc. The license terms are single use – one license per site.

Is there a developer/multi-use license for this pruduct?

Currently, the only option is to purchase an individual Regular License for each site on which PHP Social Stream will be used.
The CodeCanyon standard (Regular/Extended) licenses both are only for individual (single) usage. The only difference is about to charge or not to charge the end customer.
We can not also provide you with a developer/multi-use license directly as we have an exclusivity agreement with CodeCanyon that means, we can only distribute our products through them.
At this time, for every WordPress site that you have PHP Social Stream activated on, you need to purchase an individual Regular or Extended License. 1 site = 1 license, 2 sites = 2 licenses, 3 sites = 3 licenses, etc.

For more information please read this article: http://codecanyon.net/licenses/faq

Credits

Design & Development:

PHP Social Stream Script - Created By Axent Media - CodeCanyon license.

Third Parties

Server-Side Scripting
OAuth library - by Andy Smith - MIT license.
OAuth for Twitter's REST API - Created by Abraham Williams.
SimpleCache - Created by Gilbert Pellegrom - MIT license.

Client-Side Scripting
jQuery - Released under the terms of the MIT license.
Isotope - Copyright 2016 Metafizzy - Commercial license included.
Timeline Drop - by kickdrop.me.
JQuery Advanced News Ticker - Created by Valentin Ledrapier - GNU GENERAL PUBLIC LICENSE.
Font Awesome - by @davegandy - Licensed under MIT
Colorbox - by Jack Moore - Licensed under MIT
lightslider - by Sachin N - Licensed MIT
Lazy Load - by Mika Tuupola - MIT license.
Special scroll events for jQuery - by James Padolsey.
jQuery Expander - by Karl Swedberg - Licensed MIT.

Changelog

Version 2.5.3 - 15.11.2016
  • W3 Markup Validation passed for stream HTML contents.
  • Gutter X size issue fixed, when set to less than 10 it was displaying post in full width.
  • Twitter unknown video lightbox problem fixed.
  • Twitter videos problem when using hashtags with search API fixed.
  • Pinterest feed problem fixed.
  • Problem with decimal separator in setlocale has been fixed.
  • Notice errors while no twitter search terms result exist resolved.
Version 2.5 - 05.06.2016
  • Problem with pinned & remove items fixed.
  • Duplicate items problem from tag feeds fixed.
  • Load more problem fixed for Facebook album/page photos and page videos.
  • An issue with reading RSS media content tag fixed.
  • Added jQuery v1.12.4 to the project.
  • Images lazy load problem with jQuery 1.12.x fixed.
  • Problem with loading images on first page load has been fixed.
  • Problem with hidding images on auto stream update has been fixed.
  • CSS & JS files combined for each display mode.
  • The feature to define the number of columns shwoing on each row for different viewport sizes on wall layout.
  • Duplicate Instagram items problem on load more fixed.
  • Video lightbox support added for Twitter.
Version 2.0 - 06.02.2016
  • Opening all images in a lightbox window.
  • Profile thumbnail added in Modern layout.
  • RSS feed first image added to the item as thumbnail.
  • Scroll bars removed from lightbox window.
  • The gap that appearing at the board footer on wall filtering fixed.
  • Pinterest board problem fixed.
  • Auto-resize responsive lightbox window.
  • Feature to display Social Board items as lightbox slideshow.
  • Loading icon added on images.
  • CSS files compressed.
  • LinkedIn and Vine networks added.
  • A new theme/layout named Metro is added.
  • Tumblr lightbox video support added.
  • Vine item output upgraded.
  • Added an option to define, how to display the image for each item.
  • Added an option to allow loading images over https
  • Vimeo upgraded to the latest API with paging.
  • Some CSS styling fixes.
Version 1.3 - 22.10.2015
  • Facebook tiny images' problem fixed.
  • Facebook the latest updates, Profile Unavailable problem fixed.
  • The problem of Opening video in a lightbox window for sticky Ajax Tabbed widget fixed.
  • Profile thumbnail linked to profile page in Modern2 layout.
  • The exclusion of retweets problem in Twitter lists and search feeds fixed.
  • Duplicate items problem fixed in Load More action.
  • Social API connection timeout option added and increased to solve the problem on low process servers.
Version 1.2 - 20.09.2015
  • Vimeo video loading problem fixed.
  • Social Stream manipulation problem fixed.
  • Flickr upgraded to the latest API.
  • Load more items added for Flickr.
  • Added video opening in iframe for Instagram, YouTube, Vimeo and Google+.
  • Video icon overlay added on board video items.
  • Tumblr upgraded to the latest API v2.
Version 1.1 - 04.08.2015
  • Facebook API version 2.4 upgrades, some problems fixed.
  • YouTube videos feed by channel ID added.
  • VK network user or community wall feed by owner ID added.
  • Carousel feed theme display options wasn't working.
  • The ability to remove the block radius border.
  • Loading problem on IE browser fixed.
Version 1.0 - 10.07.2015
  • First release.