{"id":290997,"date":"2026-03-22T19:41:29","date_gmt":"2026-03-22T19:41:29","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tly-url-shortener\/"},"modified":"2026-03-22T20:11:43","modified_gmt":"2026-03-22T20:11:43","slug":"tly-url-shortener","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/tly-url-shortener\/","author":23467436,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"TLY URL Shortener","header_author":"T.LY","header_description":"Generate and manage T.LY short links from WordPress.","assets_banners_color":"878a87","last_updated":"2026-03-22 20:11:43","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/t.ly\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":64,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"tlyshortener","date":"2026-03-22 20:11:43"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3488381,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3488381,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3488382,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3488382,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3488399,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3488399,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3488399,"resolution":"3","location":"assets","locale":""}},"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[175,456,5364,258338,5530],"plugin_category":[55],"plugin_contributors":[258339],"plugin_business_model":[],"class_list":["post-290997","plugin","type-plugin","status-publish","hentry","plugin_tags-links","plugin_tags-marketing","plugin_tags-short-links","plugin_tags-t-ly","plugin_tags-url-shortener","plugin_category-seo-and-marketing","plugin_contributors-tlyshortener","plugin_committers-tlyshortener"],"banners":{"banner":"https:\/\/ps.w.org\/tly-url-shortener\/assets\/banner-772x250.jpg?rev=3488382","banner_2x":"https:\/\/ps.w.org\/tly-url-shortener\/assets\/banner-1544x500.jpg?rev=3488382","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tly-url-shortener\/assets\/icon-128x128.png?rev=3488381","icon_2x":"https:\/\/ps.w.org\/tly-url-shortener\/assets\/icon-256x256.png?rev=3488381","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/tly-url-shortener\/assets\/screenshot-1.png?rev=3488399","caption":""},{"src":"https:\/\/ps.w.org\/tly-url-shortener\/assets\/screenshot-2.png?rev=3488399","caption":""},{"src":"https:\/\/ps.w.org\/tly-url-shortener\/assets\/screenshot-3.png?rev=3488399","caption":""}],"raw_content":"<!--section=description-->\n<p>TLY URL Shortener connects WordPress to the T.LY API so editors can create, regenerate, copy, and manage short links without leaving the dashboard.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Settings page under <code>Settings &gt; T.LY<\/code><\/li>\n<li>Automatic short-link generation on publish for posts and pages<\/li>\n<li>Post editor meta box with generate, regenerate, copy, and delete-local actions<\/li>\n<li>Gutenberg sidebar panel integration<\/li>\n<li>Manual external-link shortener for selected or pasted external links<\/li>\n<li>Posts list column and row actions<\/li>\n<li>Analytics service scaffold for future reporting<\/li>\n<\/ul>\n\n<h4>Installation<\/h4>\n\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <code>TLY URL Shortener<\/code> from the Plugins screen.<\/li>\n<li>Go to <code>Settings &gt; T.LY<\/code>.<\/li>\n<li>Add your T.LY API key.<\/li>\n<li>Optionally set a default short domain and enable the workflows you want.<\/li>\n<\/ol>\n\n<h4>Hooks used<\/h4>\n\n<ul>\n<li><code>init<\/code><\/li>\n<li><code>transition_post_status<\/code><\/li>\n<li><code>admin_menu<\/code><\/li>\n<li><code>admin_init<\/code><\/li>\n<li><code>admin_enqueue_scripts<\/code><\/li>\n<li><code>add_meta_boxes<\/code><\/li>\n<li><code>rest_api_init<\/code><\/li>\n<li><code>admin_post_tlyursh_generate_short_link<\/code><\/li>\n<li><code>admin_notices<\/code><\/li>\n<li><code>manage_post_posts_columns<\/code><\/li>\n<li><code>manage_page_posts_columns<\/code><\/li>\n<li><code>manage_post_posts_custom_column<\/code><\/li>\n<li><code>manage_page_posts_custom_column<\/code><\/li>\n<li><code>post_row_actions<\/code><\/li>\n<li><code>page_row_actions<\/code><\/li>\n<\/ul>\n\n<h4>Filters provided<\/h4>\n\n<ul>\n<li><code>tlyursh_supported_post_types<\/code><\/li>\n<li><code>tlyursh_auto_generate_for_post_type<\/code><\/li>\n<li><code>tlyursh_enable_logging<\/code><\/li>\n<li><code>tlyursh_enable_analytics_ui<\/code><\/li>\n<\/ul>\n\n<h4>Updating API behavior<\/h4>\n\n<p>Endpoint paths and response parsing are centralized in:<\/p>\n\n<pre><code>src\/API\/TLYURSH_Api_Client.php\n<\/code><\/pre>\n\n<p>If the T.LY API changes, update the <code>ENDPOINTS<\/code> map and request\/response handling there.<\/p>\n\n<h4>Screenshots<\/h4>\n\n<ol>\n<li>Settings page with API and automation options<\/li>\n<li>Posts list table with the T.LY link column and row actions<\/li>\n<li>Post edit screen meta box for copying, regenerating, and shortening links<\/li>\n<\/ol>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the T.LY API to shorten URLs.<\/p>\n\n<p>Service: T.LY API\nPurpose: URL shortening<\/p>\n\n<p>Data sent:<\/p>\n\n<ul>\n<li>Long URL entered by user<\/li>\n<li>API key (if configured)<\/li>\n<\/ul>\n\n<p>When:<\/p>\n\n<ul>\n<li>When user creates a short link<\/li>\n<\/ul>\n\n<p>Provider:<\/p>\n\n<p>T.LY<\/p>\n\n<p>Terms of Service:<\/p>\n\n<p>https:\/\/t.ly\/terms<\/p>\n\n<p>Privacy Policy:<\/p>\n\n<p>https:\/\/t.ly\/privacy<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20uninstall%20remove%20post%20meta%3F\"><h3>Does uninstall remove post meta?<\/h3><\/dt>\n<dd><p>No, not by default. The plugin always removes its options on uninstall. Post meta is only removed if cleanup is explicitly enabled in code through the <code>cleanup_post_meta<\/code> option or the <code>TLYURSH_REMOVE_POST_META_ON_UNINSTALL<\/code> constant.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial production-ready release.<\/li>\n<\/ul>","raw_excerpt":"Generate and manage T.LY short links directly inside WordPress for posts, pages, and manually selected external links.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/290997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=290997"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tlyshortener"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=290997"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=290997"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=290997"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=290997"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=290997"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=290997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}