The List Petfinder Pets plugin takes advantage of the Petfinder API to list your available pets on your website.
Petfinder is a free site where shelters and rescues can post pets for adoption. The List Petfinder Pets plugin takes advantage of the Petfinder API to list your available pets on your website. All you need is your Petfinder shelter id and free Petfinder API v2.0 API key and secret.
The List Petfinder Pets plugin allows you to:
You can sign up to receive notices when this plugin is updated or other important changes here: (https://unboxinteractive.com/petfinder-plugin-email-list/)
[shelter_list] displays a list of pets from your shelter. You must enter your shelter ID, Petfinder v2.0 API key and secret on the List Petfinder Pets’ settings page for this shortcode to work. You may also need to edit your Petfinder settings to enable sharing your data with third parties. See Petfinder settings under Frequently Asked Questions below.
Optional attributes for shortcode are:
shelter_id – Allows you to list adoptable pets from a shelter different from the shelter id defined in your List Petfinder Pets Settings.
breed – If you wish to list only one breed on a page, or leave blank/don’t set to get all breeds. Note: adding ! before breed to exclude breeds was removed when plugin was updated to support Petfinder API v2.0 in version 1.0.13.
count – The maximum number of pets to return. Defaults to 75 and must be a number. Petfinder API v2.0 added ability to filter before retrieving results so you can set the count to the real number you want to list on the page now. Max returned is 100.
page – Which page of pets to return. If you have over 100 pets, or want to break up your pets into multiple pages, you can put the shortcode on multiple pages, each with a different page number. You’ll need to add a link to each page so your users can navigate between pages. NOTE: Don’t set ‘sort_by’ parameter when using page. Sorting only sorts the pets returned on the current page. Petfinder does not provide a way to sort by pet’s name. It can only sort by recent and distance in the initial call. I sort by name after the results are returned so it won’t work with paging.
animal – Type of animal. Value should be one of the following or blank/don’t set to get all: Dog, Cat, Rabbit, Small & Furry, Horse, Bird, Scales, Fins & Other, Barnyard.
include_info – Value should be set to “yes” or “no”; default is “yes”. If set to “yes”, Breeds, Spayed/Neutered, Up-to-date with routine shots, Housebroken, kid safe, cat safe, dog safe, special needs are displayed in list below photo thumbnails. Each list item has a different CSS class so you can hide any you do not want to show.
css_class – Set your own class name on div containing all pets. The default value is ‘pets’. This allows you to control the styles separately on different pages.
status – For backwards compatability values can be one of [A, H, P, X], and new values of [adoptable, adopted, found]. Petfinder API V1 used: ‘A’ = adoptable, ‘H’ = hold, ‘P’ = pending, ‘X’ = adopted/removed. Petfinder API V2 only accepts adoptable, adopted, and found, so values of H and P switch to adoptable now.
sort_by – Value can be: newest, last_updated or name. Value can also be set globally in Petfinder Settings.
age – Accepts values of: baby, young, adult, or senior. Can separate with commas to display pets that match more than one age group. If not set, will display pets from all age groups.
Note – parameter include_mixes was removed with Petfinder API v2.0 in plugin version 1.0.13
Note – parameter contact was removed with version 1.0.19.
Example:
[shelter_list breed=”Italian Greyhound”] – other breeds are not displayed
Example: [shelter_list count=20 page=1] and on another page [shelter_list count=20 page=2] – would list the first 20 pets on page with first shortcode, and the 2nd 20 pets on page with second shortcode.
Example using all attributes: [shelter_list shelter_id=”WI185″ breed=”Italian Greyhound” count=75 page=2 animal=”Dog” include_info=”no” css_class=”cats” status=”adoptable” sort_by=”newest” age=”baby”]
You can also list a single pet with the following shortcode
[get_pet pet_id=”numeric value”]
pet_id – Required. You can get this id from the pet’s Petfinder URL. URL will look like the following: https://www.petfinder.com/dog/nanook-45732995/mo/kansas-city/missouri-kansas-ig-rescue-mo306/ – 45732995 is the pet_id.
css_class – Set your own class name on div containing single pet. The default value is ‘pets’. This allows you to control the styles separately on different pages.
include_info – Value should be set to “yes” or “no”; default is “yes”. If set to “yes”, Breeds, Spayed/Neutered, Up-to-date with routine shots, Housebroken, kid safe, cat safe, dog safe, special needs are displayed in list below photo thumbnails. Each list item has a different CSS class so you can hide any you do not want to show.
Example using all attributes: [get_pet pet_id=”23367571″ include_info=”no” css_class=”cats”]
Add the List Petfinder Pets Featured Pet widget under Appearance -> Widgets. After adding the widget to a widget area you can set a featured pet id to display a featured pet, or leave blank to display a random pet from your shelter.
Featured Pet Widget Settings:
Featured Pet ID – You can get this id from the pet’s Petfinder URL. URL will look like the following: https://www.petfinder.com/dog/nanook-45732995/mo/kansas-city/missouri-kansas-ig-rescue-mo306/?referrer_id=cca97ef9-e23d-4d0b-b29d-52afa8f7d70e – 45732995 is the pet id.
Your Listing Page URL – The page where your shortcode [shelter_list] can be found. If this is set, your featured pet will link directly to this pet on your shelter list page. (Optional)
Featured Pet Image Size – The size of the Featured Pet image. (Required)
Featured Pet PDF Link – If you would like to create a PDF with more information about your Featured Pet. Link to the PDF uploaded separately through WordPress’ Media here.
Need to change your pets’ description? Perhaps you want to remove/replace special characters that are not displaying correctly, or want to add a paragraph to the end of all pets’ descriptions? You can do so with the following filter. Add it to your functions.php file. The filter name is petf_replace_description and it acts on all pets’ descriptions.
function replace_pet_description( $description ) {
return $description . ” Add me to end of all pets’ descriptions”;
}
add_filter( ‘petf_replace_description’, ‘replace_pet_description’ );
You will need to generate a free Petfinder API key on Petfinder here: https://www.petfinder.com/developers/.
If the list is not working after correctly entering your Petfinder API and Secret and the page displays a status of ‘shelter opt-out’, make sure your Petfinder account is set up to share data through Petfinder’s API. To do this, log into your Petfinder account and click on the Organization Info tab. Look for the box labeled ‘Share Pet List’ and make sure all checkboxes within this box are selected: Please share my pet list with all third parties, Partner sites & Petfinder API users. (Please let me know if these instructions need to be updated after Petfinder changed its interface.)
First, be sure your site is using a caching plugin. If your page listing pets is cached, it will lower the number of API calls the site makes to Petfinder. You might be able to increase the amount of time pages are stored in cache.
If your site is still going over your API limit, contact Petfinder and ask to increase your API daily limit. Caching saves on server processing power, which saves electricity, which saves trees, so please try caching your site first.
This plugin generates generic HTML and includes a stylesheet to position the elements. To style, override the CSS in your theme’s stylesheet. You might need to add !important to some styles, or use greater specificity.
Petfinder does not return video information through their API, however if you have a video on YouTube you can paste the video embed code in your pet’s description to display the video through the Petfinder plugin.