{"id":29049,"date":"2014-04-24T21:40:07","date_gmt":"2014-04-24T21:40:07","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/pinterest-importer\/"},"modified":"2019-06-04T14:18:14","modified_gmt":"2019-06-04T14:18:14","slug":"pinterest-importer","status":"publish","type":"plugin","link":"https:\/\/te.wordpress.org\/plugins\/pinterest-importer\/","author":245975,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.7.2","stable_tag":"trunk","tested":"5.2.24","requires":"3.5","requires_php":"","requires_plugins":"","header_name":"Pinterest Importer","header_author":"G.Breant","header_description":"","assets_banners_color":"fdfdfd","last_updated":"2019-06-04 14:18:14","external_support_url":"","external_repository_url":"","donate_link":"http:\/\/bit.ly\/gbreant","header_plugin_uri":"http:\/\/wordpress.org\/extend\/plugins\/pinterest-importer","header_author_uri":"https:\/\/profiles.wordpress.org\/grosbouff\/#content-plugins","rating":4.3,"author_block_rating":0,"active_installs":40,"downloads":10352,"num_ratings":15,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":"2","2":0,"3":"1","4":"1","5":"11"},"assets_icons":[],"assets_banners":{"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":"1417589","resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":"1598753","resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":"1598753","resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":"1598753","resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":"1598753","resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":"1598753","resolution":"5","location":"assets","locale":""}},"screenshots":{"1":"Pinterest Account page","2":"Pinterest Boards page","3":"Pending Importation page","4":"(Processed) Pins list","5":"Plugin settings"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[151,6606,6674,312],"plugin_category":[59],"plugin_contributors":[83793],"plugin_business_model":[],"class_list":["post-29049","plugin","type-plugin","status-publish","hentry","plugin_tags-backup","plugin_tags-importer","plugin_tags-pins","plugin_tags-pinterest","plugin_category-utilities-and-tools","plugin_contributors-grosbouff","plugin_committers-grosbouff"],"banners":{"banner":"https:\/\/ps.w.org\/pinterest-importer\/assets\/banner-772x250.jpg?rev=1417589","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/pinterest-importer_fdfdfd.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/pinterest-importer\/assets\/screenshot-1.png?rev=1598753","caption":"Pinterest Account page"},{"src":"https:\/\/ps.w.org\/pinterest-importer\/assets\/screenshot-2.png?rev=1598753","caption":"Pinterest Boards page"},{"src":"https:\/\/ps.w.org\/pinterest-importer\/assets\/screenshot-3.png?rev=1598753","caption":"Pending Importation page"},{"src":"https:\/\/ps.w.org\/pinterest-importer\/assets\/screenshot-4.png?rev=1598753","caption":"(Processed) Pins list"},{"src":"https:\/\/ps.w.org\/pinterest-importer\/assets\/screenshot-5.png?rev=1598753","caption":"Plugin settings"}],"raw_content":"<!--section=description-->\n<p>Pinterest Importer allows you to connect to your Pinterest.com account; to grab all your pins (including from secret and optionnally followed boards); and to import them in Wordpress.<\/p>\n\n<p>The difference with other plugins is that it is not based on the (very limited) official Pinterest API; which also requires SSL.\nThis means that you can make a full backup (instead of getting only the last x pins); but it also means the plugin may broke one day or another.\nBetter use it quick !<\/p>\n\n<ul>\n<li>Nice GUI<\/li>\n<li>Uses a custom post type, which makes it easy to use specific theme templates or capabilities, etc.<\/li>\n<li>Get pins from regular boards, secret boards and followed boards (optional).<\/li>\n<li>Assign a Wordpress category to each of your board (or let us handle it automatically)<\/li>\n<li>Supports both image &amp; video pins; and sets automatically the corresponding post format<\/li>\n<li>Downloads original HD images from pins.<\/li>\n<li>Can be used on an ongoing basis : pins will not be imported several times<\/li>\n<li>Backup &amp; display the pin metadatas in a metabox<\/li>\n<li>Set pin creation date as post date<\/li>\n<li>Handles hashtags, which are converted to post tags<\/li>\n<li>Cache pins in a JSON file for every board<\/li>\n<\/ul>\n\n<h4>Donate!<\/h4>\n\n<p>It truly took me a LOT of time to code this plugin.\nIf it saved you the time to backup manually a few hundred (or more!) pins, please consider converting this time into <a href=\"http:\/\/bit.ly\/gbreant\">a donation<\/a>.\nThis would be very appreciated \u2014 Thanks !<\/p>\n\n<h4>Instruction<\/h4>\n\n<ol>\n<li>Go to Pins -&gt; Pinterest Account<\/li>\n<li>Follow the steps<\/li>\n<li>Enjoy !<\/li>\n<\/ol>\n\n<h4>Contributors<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/github.com\/seregazhuk\">seregazhuk<\/a> for the (nice!) <a href=\"https:\/\/github.com\/seregazhuk\/php-pinterest-bot\">php-pinterest-bot library<\/a><\/li>\n<li>Other contributors are listed <a href=\"https:\/\/github.com\/gordielachance\/pinterest-importer\/contributors\">here<\/a><\/li>\n<\/ul>\n\n<h4>Notes<\/h4>\n\n<p>For feature request and bug reports, <a href=\"http:\/\/wordpress.org\/support\/plugin\/pinterest-importer#postform\">please use the forums<\/a>.<\/p>\n\n<p>If you are a plugin developer, <a href=\"https:\/\/github.com\/gordielachance\/pinterest-importer\">we would like to hear from you<\/a>. Any contribution would be very welcome.<\/p>\n\n<h3>TO DO<\/h3>\n\n<ul>\n<li>use wp_update_term_count() ? seems posts count for categories is not updated.<\/li>\n<li>add source in post content should be optional<\/li>\n<li>a trashed pin should not be considered existing ?<\/li>\n<li>use some ajax functions (Pinterest queries, etc.)<\/li>\n<li>bug when creating 'pinim_boards_settings' : last board settings are not saved, so it is detected as new board when the page refreshes.<\/li>\n<\/ul>\n\n<h3>Localization<\/h3>\n\n<!--section=installation-->\n<p>This plugin requires at least php 5.3.6 with the <a href=\"http:\/\/stackoverflow.com\/questions\/23978360\/php-fatal-error-call-to-undefined-function-exif-imagetype\/23978385#23978385\">exif extension enabled<\/a>.<\/p>\n\n<ol>\n<li>Upload the plugin to your blog and Activate it.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt>How could I change how pins are saved ?<\/dt>\n<dd><p>If you want to change how a pin is saved (for example to change its post type), you can hook actions on the filter 'pinim_before_save_pin'.<\/p>\n\n<p>For example :<\/p>\n\n<pre><code>&lt;?php\n\n\/\/change post content (have a look at the [codex](https:\/\/codex.wordpress.org\/Class_Reference\/WP_Post) for the list of available variables)\nadd_filter('pinim_before_save_pin','pin_custom_content',10,3);\n\nfunction pin_custom_content($post,$pin,$is_update){   \n    $post['post_content'] = 'MY CONTENT';\n    return $post;\n}\n?&gt;\n<\/code><\/pre><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.7.1<\/h4>\n\n<ul>\n<li>Updated php-pinterest-bot<\/li>\n<li>Minor fixes<\/li>\n<\/ul>\n\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>Lots of code cleanup<\/li>\n<li>Clearer interface<\/li>\n<li>Much faster than before<\/li>\n<li>Store raw pins in a cached JSON file for every board, and updates it only when the board's 'pin_count' exceed the total of cached pins.<\/li>\n<li>Option to enable followed boards<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Finally resurrected !<\/li>\n<li>Now uses <a href=\"https:\/\/github.com\/seregazhuk\/php-pinterest-bot\">php-pinterest-bot library<\/a> by <a href=\"https:\/\/github.com\/seregazhuk\">seregazhuk<\/a><\/li>\n<li>Settings for boards followed<\/li>\n<\/ul>\n\n<h4>0.5.3<\/h4>\n\n<ul>\n<li>fixed plugin broken due to Pinterest website's changes<\/li>\n<li>Removed support for likes as it as been removed from Pinterest<\/li>\n<\/ul>\n\n<h4>0.5.2<\/h4>\n\n<ul>\n<li>fixed plugin broken due to Pinterest website's changes<\/li>\n<li>removed unused function get_board_id<\/li>\n<\/ul>\n\n<h4>0.5.1<\/h4>\n\n<ul>\n<li>Fixed logout<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Now able to get private boards again<\/li>\n<li>Improved HTTP requests<\/li>\n<li>Fixed submenu capabilities<\/li>\n<li>A lot of code cleanup<\/li>\n<li>And more, and more !<\/li>\n<\/ul>\n\n<h4>0.4.8<\/h4>\n\n<ul>\n<li>Now uses a 'pin' post type instead of the 'post' default post types.  This makes it easier to handle pins, use specific theme templates or capabilities, etc. + Upgrade routine for previous versions.<\/li>\n<li>New 'Pins' menu in the backend with a 'Pinterest Account', 'Pinterest Boards', 'Pending Importation' and 'Settings' pages; which replaces the page tabs from the previous versions.<\/li>\n<li>Code improved (a lot !)<\/li>\n<\/ul>\n\n<h4>0.4.7<\/h4>\n\n<ul>\n<li>Less API calls<\/li>\n<li>!!! Secret boards are currently unsupported.  TO FIX.<\/li>\n<\/ul>\n\n<h4>0.4.6<\/h4>\n\n<ul>\n<li>Pinim_Bridge::get_user_datas() : return data from module&gt;tree&gt;data instead of resourceDataCache&gt;0&gt;data<\/li>\n<li>improved Pinim_Bridge::api_response()<\/li>\n<li>store AppVersion in session cache<\/li>\n<li>new function Pinim_Bridge::email_exists() - not used for the moment<\/li>\n<\/ul>\n\n<h4>0.4.5<\/h4>\n\n<ul>\n<li>Improved errors &amp; responses from pinim-class-bridge; plugin was crashing<\/li>\n<li>Removed the \u2018me\u2019 stuff, so force user to login with username (so we got it) instead of username or email.<\/li>\n<\/ul>\n\n<h4>0.4.3<\/h4>\n\n<ul>\n<li>new function Pinim_Pin_Item::get_post_content()<\/li>\n<li>renamed Pinim_Pin_Item::build_post_content() to Pinim_Pin_Item::append_medias()<\/li>\n<li>ignore pin source if does not exists (pin uploaded by user on Pinterest)<\/li>\n<\/ul>\n\n<h4>0.4.2<\/h4>\n\n<ul>\n<li>two new options about post stati when importing pins.<\/li>\n<li>removed functions get_blank_post() and get_post_status(), which have been merged with Pinim_Pin_Item::save()<\/li>\n<li>renamed the filter 'pinim_before_pin_insert' to 'pinim_before_save_pin'.<\/li>\n<\/ul>\n\n<h4>0.4.1<\/h4>\n\n<ul>\n<li>New filter 'pinim_attachment_before_insert'<\/li>\n<li>Added the pin instance as argument to the 'pinim_post_before_insert' filter<\/li>\n<li>Some fixes<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Major release !<\/li>\n<li>Supports importing boards from other users<\/li>\n<li>Store plugin's db version with each pin<\/li>\n<li>Improved storing\/getting datas<\/li>\n<li>New function Pinim_Bridge::get_board_id()<\/li>\n<li>Option to delete board preferences<\/li>\n<li>Lots of fixes<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Fixed bad code which was slowing down the plugin when displaying the processed pins<\/li>\n<li>better handling of the pins caching stuff<\/li>\n<li>new auto-cache option<\/li>\n<li>New 'pinim_post_before_insert' filter<\/li>\n<li>new boards views + last choice stored in session<\/li>\n<li>'queue pins' checkbox for boards (stored in the session)<\/li>\n<li>progress bar improvements<\/li>\n<li>autoselect bulk checkbox when settings of a board are changed (jQuery)<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Major release !<\/li>\n<li>Improved GUI<\/li>\n<li>Lots of bug fixes<\/li>\n<li>Options page<\/li>\n<\/ul>\n\n<h4>0.2.8<\/h4>\n\n<ul>\n<li>Fixed \"Error getting App Version\"<\/li>\n<\/ul>\n\n<h4>0.2.7<\/h4>\n\n<ul>\n<li>Fixed \"Error getting App Version\", thanks to markamp.<\/li>\n<\/ul>\n\n<h4>0.2.6<\/h4>\n\n<ul>\n<li>Fixed \"Error getting App Version\"<\/li>\n<\/ul>\n\n<h4>0.2.5<\/h4>\n\n<ul>\n<li>fixed anonymous functions (closures) that were broken with old php versions : inherit variables from the parent scope with 'use' (http:\/\/www.php.net\/manual\/en\/functions.anonymous.php)<\/li>\n<\/ul>\n\n<h4>0.2.4<\/h4>\n\n<ul>\n<li>Improved remote image download + merged pinim_fetch_remote_image() and pinim_process_post_image() into pinim_attach_remote_image() <\/li>\n<li>Added \"updated\" sortable column for pins (when have been processed)<\/li>\n<li>Fixed boards \/ pins sortable columns<\/li>\n<\/ul>\n\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>Added support for likes<\/li>\n<li>Warning for users who don't have sessions enabled<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Small bugs fixes<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Small bugs fixes<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Fully rewritten !  No more needs to save \/ upload an HTML file.  SO COOL !<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Updated plugin's readme.txt<\/li>\n<li>quoted_printable_decode() to decode MHTML<\/li>\n<li>Uploaded file needs to be MHTML to allow parsing<\/li>\n<li>Improved feedback<\/li>\n<li>Updated \"a.creditItem\" selector to \".creditItem a\" in get_pin_board() and get_pin_source()<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Improved code (splitted into classes)<\/li>\n<li>Hashtags are now saved as post tags<\/li>\n<\/ul>\n\n<h4>0.1<\/h4>\n\n<p>=\n* First release<\/p>","raw_excerpt":"Backup your Pinterest.com account by importing pins in Wordpress.  Supports regular boards, secret boards and followed boards.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/29049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=29049"}],"author":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/grosbouff"}],"wp:attachment":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=29049"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=29049"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=29049"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=29049"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=29049"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=29049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}