{"id":203545,"date":"2024-09-11T19:52:00","date_gmt":"2024-09-11T19:52:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/my-apps\/"},"modified":"2026-04-30T06:16:37","modified_gmt":"2026-04-30T06:16:37","slug":"my-apps","status":"publish","type":"plugin","link":"https:\/\/sna.wordpress.org\/plugins\/my-apps\/","author":68342,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.3.0","stable_tag":"1.3.0","tested":"7.0","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"My Apps","header_author":"Alex Kirk","header_description":"WordPress apps launcher","assets_banners_color":"","last_updated":"2026-04-30 06:16:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/akirk\/my-apps","header_author_uri":"https:\/\/alex.kirk.at\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":1959,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description"],"tags":{"1.0.0":{"tag":"1.0.0","author":"akirk","date":"2024-09-11 19:52:23"},"1.0.1":{"tag":"1.0.1","author":"akirk","date":"2025-04-15 15:33:33"},"1.1.0":{"tag":"1.1.0","author":"akirk","date":"2026-01-08 11:50:45"},"1.2.0":{"tag":"1.2.0","author":"akirk","date":"2026-01-27 16:25:04"},"1.3.0":{"tag":"1.3.0","author":"akirk","date":"2026-04-30 06:16:37"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.1.0","1.2.0","1.3.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3519214,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3519214,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3519214,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3519214,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3519214,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3519214,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3519214,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3519214,"resolution":"8","location":"assets","locale":""}},"screenshots":{"1":"The Launcher","2":"The App Store"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[896],"plugin_category":[],"plugin_contributors":[77497],"plugin_business_model":[],"class_list":["post-203545","plugin","type-plugin","status-publish","hentry","plugin_tags-apps","plugin_contributors-akirk","plugin_committers-akirk"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/my-apps.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/my-apps\/assets\/screenshot-1.png?rev=3519214","caption":"The Launcher"},{"src":"https:\/\/ps.w.org\/my-apps\/assets\/screenshot-2.png?rev=3519214","caption":"The App Store"},{"src":"https:\/\/ps.w.org\/my-apps\/assets\/screenshot-3.png?rev=3519214","caption":""},{"src":"https:\/\/ps.w.org\/my-apps\/assets\/screenshot-4.png?rev=3519214","caption":""},{"src":"https:\/\/ps.w.org\/my-apps\/assets\/screenshot-5.png?rev=3519214","caption":""},{"src":"https:\/\/ps.w.org\/my-apps\/assets\/screenshot-6.png?rev=3519214","caption":""},{"src":"https:\/\/ps.w.org\/my-apps\/assets\/screenshot-7.png?rev=3519214","caption":""},{"src":"https:\/\/ps.w.org\/my-apps\/assets\/screenshot-8.png?rev=3519214","caption":""}],"raw_content":"<!--section=description-->\n<p>This plugin adds a <code>\/my-apps\/<\/code> route to your WordPress so that it can act as your personal apps launcher \u2014 a dashboard that feels like a mobile phone home screen, so you don't have to navigate wp-admin to reach the apps you use.<\/p>\n\n<p>Apps can be plugins that register their own icon, custom links you add yourself, or plugins you install on demand from the built-in app store.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li><strong>Launcher<\/strong> at <code>\/my-apps\/<\/code> with grid or flow layouts, drag-to-reorder, and an edit mode for customization.<\/li>\n<li><strong>Display settings<\/strong> live in the launcher itself (no admin page): icon size, spacing, grid columns, layout toggle, and an optional personalized greeting. Settings are stored per-device while in edit mode.<\/li>\n<li><strong>App Store<\/strong> for installing new apps: browse a curated catalog, view app detail pages, and install via WordPress Playground blueprints. Paste a custom blueprint JSON from the clipboard to install anything.<\/li>\n<li><strong>Auto-registered icons<\/strong> after a blueprint install \u2014 if the installed plugin doesn't register its own icon, one is generated with a category-colored gradient.<\/li>\n<li><strong>Import\/export<\/strong> your launcher configuration from the settings dropdown.<\/li>\n<li><strong>Mobile-friendly<\/strong>: full-screen app store, three icons per row, and a My Apps link in the admin bar on the frontend.<\/li>\n<\/ul>\n\n<h3>Adding an app from a plugin<\/h3>\n\n<p>Plugins can register their own launcher icon by filtering <code>my_apps_plugins<\/code>:<\/p>\n\n<pre><code>add_filter( 'my_apps_plugins', function ( $apps ) {\n    \/\/ Add your app to the array. These three keys are mandatory:\n    $apps['friends'] = array(\n        \/\/ Name: The name that will be displayed.\n        'name'     =&gt; __( 'Friends', 'friends' ),\n        \/\/ The icon as a URL. You can also use a local URL inside a plugin, using `plugins_url()`.\n        'icon_url' =&gt; 'https:\/\/ps.w.org\/friends\/assets\/icon-256x256.png',\n        \/\/ The URL this should link to.\n        'url'      =&gt; home_url( '\/friends\/' ),\n    );\n    return $apps;\n} );\n<\/code><\/pre>","raw_excerpt":"A WordPress app launcher.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/203545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=203545"}],"author":[{"embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/akirk"}],"wp:attachment":[{"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=203545"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=203545"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=203545"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=203545"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=203545"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=203545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}