{"id":380219,"date":"2026-10-10T00:22:49","date_gmt":"2026-10-10T00:22:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/obydullah-fashion-store-core\/"},"modified":"2026-10-10T00:37:28","modified_gmt":"2026-10-10T00:37:28","slug":"obydullah-fashion-store-core","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/obydullah-fashion-store-core\/","author":23399590,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.1.3","requires":"6.2","requires_php":"8.0","requires_plugins":null,"header_name":"Obydullah Fashion Store Core","header_author":"Shaik Obydullah","header_description":"Core functionality for the Fashion theme","assets_banners_color":"85bcdd","last_updated":"2026-10-10 00:37:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/obydullah.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":67,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"obydullah","date":"2026-10-10 00:22:11","revision":3737455},"1.0.2":{"tag":"1.0.2","author":"obydullah","date":"2026-10-10 00:37:28","revision":3737461}},"upgrade_notice":{"1.0.2":"<p>Documentation-only update. No functional changes.<\/p>","1.0.1":"<p>Writes the hero slide rewrite rules during activation, so you no longer have to save the permalinks by hand. Save handlers now reject a forged or expired nonce with a 403 instead of silently ignoring it, so reload an editor tab that was open before the update once.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3737458,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3737458,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3737458,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3737458,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[4917,1487,282,285461,611],"plugin_category":[45],"plugin_contributors":[252589],"plugin_business_model":[],"class_list":["post-380219","plugin","type-plugin","status-publish","hentry","plugin_tags-content-management","plugin_tags-custom-post-types","plugin_tags-ecommerce","plugin_tags-fashion-store","plugin_tags-slider","plugin_category-ecommerce","plugin_contributors-obydullah","plugin_committers-obydullah"],"banners":{"banner":"https:\/\/ps.w.org\/obydullah-fashion-store-core\/assets\/banner-772x250.png?rev=3737458","banner_2x":"https:\/\/ps.w.org\/obydullah-fashion-store-core\/assets\/banner-1544x500.png?rev=3737458","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/obydullah-fashion-store-core\/assets\/icon-128x128.png?rev=3737458","icon_2x":"https:\/\/ps.w.org\/obydullah-fashion-store-core\/assets\/icon-256x256.png?rev=3737458","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Obydullah Fashion Store Core is a custom WordPress plugin that powers the backend content management for a fashion e-commerce storefront. It registers dedicated Custom Post Types (CPTs) and meta boxes, allowing store administrators to manage homepage hero slides, customer testimonials, and global footer settings from the WordPress admin dashboard without writing any code.<\/p>\n\n<p>The plugin is theme-agnostic. It handles content storage and administration only; your theme renders the front-end output.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Hero Slider Management<\/strong> \u2014 Create and reorder hero slides with custom kicker text (e.g. \"Autumn \/ Winter 2026\") and subtitles. Supports featured images and menu-order sorting.<\/li>\n<li><strong>Testimonials<\/strong> \u2014 Manage customer testimonials with quote text, star ratings (1\u20135), role\/title, and avatar URL.<\/li>\n<li><strong>Footer Settings (Singleton)<\/strong> \u2014 A single-instance screen for the site-wide footer: logo tagline, social media URLs (Instagram, Pinterest, YouTube, TikTok), quick links with an add\/remove repeater, contact information (address, phone, email), and copyright text.<\/li>\n<li><strong>Admin Dashboard<\/strong> \u2014 A centralized page under the <strong>Fashion Store Core<\/strong> menu linking to each content section.<\/li>\n<li><strong>WordPress REST API<\/strong> \u2014 All three CPTs are REST-enabled for headless front ends or block-editor integration.<\/li>\n<\/ul>\n\n<h4>Theme integration<\/h4>\n\n<p>The plugin registers the following post types and meta keys for your templates.<\/p>\n\n<p><strong>Post types<\/strong><\/p>\n\n<ul>\n<li><code>ofsc_hero_slide<\/code> \u2014 public, REST-enabled, supports title \/ thumbnail \/ page-attributes<\/li>\n<li><code>ofsc_testimonial<\/code> \u2014 public, REST-enabled, supports title<\/li>\n<li><code>ofsc_footer<\/code> \u2014 admin-only UI, REST-enabled, supports title<\/li>\n<\/ul>\n\n<p><strong>Meta keys<\/strong><\/p>\n\n<ul>\n<li>Hero slide: <code>ofsc_kicker<\/code>, <code>ofsc_subtitle<\/code><\/li>\n<li>Testimonial: <code>ofsc_testimonial_quote<\/code>, <code>ofsc_testimonial_role<\/code>, <code>ofsc_testimonial_rating<\/code>, <code>ofsc_testimonial_avatar<\/code><\/li>\n<li>Footer: <code>ofsc_footer_tagline<\/code>, <code>ofsc_footer_social<\/code> (associative array), <code>ofsc_footer_links<\/code> (array of <code>text<\/code> \/ <code>url<\/code> pairs), <code>ofsc_footer_address<\/code>, <code>ofsc_footer_phone<\/code>, <code>ofsc_footer_email<\/code>, <code>ofsc_footer_copyright<\/code><\/li>\n<\/ul>\n\n<h4>Security<\/h4>\n\n<p>Every save handler verifies a post-specific nonce, rejects autosaves and revisions, confirms the post type, and checks <code>current_user_can( 'edit_post', $post_id )<\/code> before writing. All input is unslashed and sanitized on first touch, and all output is escaped.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>obydullah-fashion-store-core<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen. On activation, sample draft content is created so each section is ready to edit, and the rewrite rules for the hero slide permalink are written immediately.<\/li>\n<li>Navigate to <strong>Fashion Store Core<\/strong> in the admin sidebar.<\/li>\n<\/ol>\n\n<p>Requires PHP 8.0+ and WordPress 6.2+. Older environments are reported with an admin notice instead of a fatal error.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20add%20more%20than%20one%20footer%3F\"><h3>Can I add more than one footer?<\/h3><\/dt>\n<dd><p>No. The Footer Settings post type is enforced as a singleton. Attempting to create a second entry redirects you to the existing one, so there is always exactly one global footer configuration.<\/p><\/dd>\n<dt id=\"are%20the%20post%20types%20compatible%20with%20the%20block%20editor%3F\"><h3>Are the post types compatible with the Block Editor?<\/h3><\/dt>\n<dd><p>Yes. All three CPTs have <code>show_in_rest<\/code> enabled, so they load and save correctly in the Gutenberg block editor.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20specific%20theme%3F\"><h3>Do I need a specific theme?<\/h3><\/dt>\n<dd><p>No. The CPTs and meta boxes work with any theme, though you will need template code of your own to display the front-end output. See the theme integration section above.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20delete%20my%20content%20when%20i%20deactivate%20or%20uninstall%20it%3F\"><h3>Does the plugin delete my content when I deactivate or uninstall it?<\/h3><\/dt>\n<dd><p>No. Both deactivating and uninstalling the plugin leave all hero slides, testimonials, and footer settings intact in the database. The plugin ships no cleanup routine, so the content deliberately outlives it. If you want the data gone, delete the three post types (<code>ofsc_hero_slide<\/code>, <code>ofsc_testimonial<\/code>, <code>ofsc_footer<\/code>) and their meta keys manually.<\/p><\/dd>\n<dt id=\"how%20do%20i%20reorder%20the%20hero%20slides%3F\"><h3>How do I reorder the hero slides?<\/h3><\/dt>\n<dd><p>Each hero slide supports page attributes, so set its <strong>Order<\/strong> field in the sidebar panel. Slides are queried in menu-order sequence.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Removed the code examples from the readme and simplified the documentation.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed: activation now registers the post types before flushing rewrite rules, so the hero slide permalink works without a manual <strong>Permalinks \u2192 Save Changes<\/strong>.<\/li>\n<li>Fixed: activation no longer adds another sample row on every re-activation.<\/li>\n<li>Fixed: a failed sample insert is reported in the admin instead of passing silently.<\/li>\n<li>Added a runtime check for the minimum WordPress version, matching the header requirement.<\/li>\n<li>Hardened the save handlers against array input, and they now reject a forged nonce with a 403 instead of dropping the save silently.<\/li>\n<li>Ratings are stored as an integer within the 1\u20135 range.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Hero Slide CPT with kicker and subtitle meta fields.<\/li>\n<li>Testimonial CPT with quote, rating, role, and avatar meta fields.<\/li>\n<li>Footer Settings singleton CPT with logo\/tagline, social links, quick links repeater, contact info, and copyright meta fields.<\/li>\n<li>Admin dashboard page with navigation cards.<\/li>\n<li>Nonce, capability, and sanitization guards on all save handlers.<\/li>\n<\/ul>","raw_excerpt":"Manage hero sliders, testimonials, and footer settings from the WordPress admin. Works with any theme.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/380219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=380219"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/obydullah"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=380219"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=380219"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=380219"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=380219"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=380219"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=380219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}