{"id":388784,"date":"2026-10-19T06:33:21","date_gmt":"2026-10-19T06:33:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/equiroof-fair-housing-language-rental-fee-disclosure\/"},"modified":"2026-10-19T06:32:58","modified_gmt":"2026-10-19T06:32:58","slug":"equiroof-fair-housing-language-rental-fee-disclosure","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/equiroof-fair-housing-language-rental-fee-disclosure\/","author":23530379,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"Equiroof \u2013 Fair Housing Language & Rental Fee Disclosure","header_author":"Muhammad Mujahid Sarfraz","header_description":"Checks property listings for fair housing advertising risks while you write, audits existing content, and displays an all-in rent price with every mandatory fee disclosed.","assets_banners_color":"739caa","last_updated":"2026-10-19 06:32:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":108,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"mujahidwp","date":"2026-10-19 06:32:58","revision":3754104}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3754101,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3754101,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3754101,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3754101,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3754101,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"equiroof\/housing-statement":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"equiroof\/housing-statement","version":"1.0.0","title":"Equal Housing Statement","category":"widgets","icon":"groups","description":"Displays your equal housing opportunity statement. Edit the default text in Equiroof > Settings.","keywords":["fair housing","equal housing","statement","disclaimer"],"textdomain":"equiroof","attributes":{"text":{"type":"string","default":""}},"supports":{"html":false,"align":["wide","full"],"color":{"background":true,"text":true},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true}},"editorScript":"equiroof-blocks","style":"equiroof-frontend"},"equiroof\/rent-disclosure":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"equiroof\/rent-disclosure","version":"1.0.0","title":"Rent Disclosure","category":"widgets","icon":"money-alt","description":"Shows the all-in monthly rent with every mandatory fee itemised, using the Rent & fees entered for this listing.","keywords":["rent","fees","price","junk fees","listing"],"textdomain":"equiroof","usesContext":["postId","postType"],"supports":{"html":false,"multiple":false,"align":["wide","full"],"color":{"background":true,"text":true},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true}},"editorScript":"equiroof-blocks","style":"equiroof-frontend"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3754101,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3754101,"resolution":"2","location":"assets","locale":"","width":1280,"height":1300},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3754101,"resolution":"3","location":"assets","locale":"","width":1280,"height":960},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3754101,"resolution":"4","location":"assets","locale":"","width":1280,"height":860},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3754101,"resolution":"5","location":"assets","locale":"","width":1280,"height":1200},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3754101,"resolution":"6","location":"assets","locale":"","width":1280,"height":800},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3754101,"resolution":"7","location":"assets","locale":"","width":1280,"height":800},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3754101,"resolution":"8","location":"assets","locale":"","width":1280,"height":840}},"screenshots":{"1":"The Listing check panel: one-click replacements, \u201cMark as reviewed\u201d and the list of reviewed phrases.","2":"The Rent &amp; fees panel with itemised fees, the advertised monthly total and the amount due at move-in.","3":"The Rent Disclosure block on the front end, leading with the all-in monthly rent.","4":"The site audit under Equiroof &gt; Audit with results and CSV export.","5":"The settings screen.","6":"The listing check column and status filter in the post list.","7":"The dashboard widget with listings grouped by status.","8":"The classic editor meta boxes for listing post types that do not use the block editor."}},"plugin_section":[262246],"plugin_tags":[14361,287459,4528,2199,5075],"plugin_category":[],"plugin_contributors":[281325],"plugin_business_model":[],"class_list":["post-388784","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-compliance","plugin_tags-fair-housing","plugin_tags-listings","plugin_tags-real-estate","plugin_tags-rental","plugin_contributors-mujahidwp","plugin_committers-mujahidwp"],"banners":{"banner":"https:\/\/ps.w.org\/equiroof-fair-housing-language-rental-fee-disclosure\/assets\/banner-772x250.png?rev=3754101","banner_2x":"https:\/\/ps.w.org\/equiroof-fair-housing-language-rental-fee-disclosure\/assets\/banner-1544x500.png?rev=3754101","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/equiroof-fair-housing-language-rental-fee-disclosure\/assets\/icon.svg?rev=3754101","icon":"https:\/\/ps.w.org\/equiroof-fair-housing-language-rental-fee-disclosure\/assets\/icon.svg?rev=3754101","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/equiroof-fair-housing-language-rental-fee-disclosure\/assets\/screenshot-1.png?rev=3754101","caption":"The Listing check panel: one-click replacements, \u201cMark as reviewed\u201d and the list of reviewed phrases."},{"src":"https:\/\/ps.w.org\/equiroof-fair-housing-language-rental-fee-disclosure\/assets\/screenshot-2.png?rev=3754101","caption":"The Rent &amp; fees panel with itemised fees, the advertised monthly total and the amount due at move-in."},{"src":"https:\/\/ps.w.org\/equiroof-fair-housing-language-rental-fee-disclosure\/assets\/screenshot-3.png?rev=3754101","caption":"The Rent Disclosure block on the front end, leading with the all-in monthly rent."},{"src":"https:\/\/ps.w.org\/equiroof-fair-housing-language-rental-fee-disclosure\/assets\/screenshot-4.png?rev=3754101","caption":"The site audit under Equiroof &gt; Audit with results and CSV export."},{"src":"https:\/\/ps.w.org\/equiroof-fair-housing-language-rental-fee-disclosure\/assets\/screenshot-5.png?rev=3754101","caption":"The settings screen."},{"src":"https:\/\/ps.w.org\/equiroof-fair-housing-language-rental-fee-disclosure\/assets\/screenshot-6.png?rev=3754101","caption":"The listing check column and status filter in the post list."},{"src":"https:\/\/ps.w.org\/equiroof-fair-housing-language-rental-fee-disclosure\/assets\/screenshot-7.png?rev=3754101","caption":"The dashboard widget with listings grouped by status."},{"src":"https:\/\/ps.w.org\/equiroof-fair-housing-language-rental-fee-disclosure\/assets\/screenshot-8.png?rev=3754101","caption":"The classic editor meta boxes for listing post types that do not use the block editor."}],"raw_content":"<!--section=description-->\n<p>Property listings are advertisements, and real estate advertising has two growing problems.<\/p>\n\n<p><strong>1. Discriminatory wording, even when nobody meant it.<\/strong> Under fair housing advertising rules, a listing can be a problem if an ordinary reader would understand it as showing a preference for, or against, a group of people. Phrases like \u201cperfect for young professionals\u201d, \u201cadults only\u201d or \u201cno section 8\u201d can create real risk. AI-written listing copy makes these slips easier to miss.<\/p>\n\n<p><strong>2. Hidden \u201cjunk\u201d fees.<\/strong> Rentals are often advertised with a low base rent while trash, amenity, admin or tech fees are added later. A growing number of places now expect advertised rent to include mandatory recurring fees.<\/p>\n\n<p>Equiroof gives agents, brokers, landlords and property managers practical tools for both, right inside WordPress.<\/p>\n\n<h4>Fair housing language checker<\/h4>\n\n<ul>\n<li><strong>Live check in the block editor.<\/strong> A \u201cListing check\u201d panel scans the title, excerpt and every block as you type, explains why a phrase was flagged and suggests neutral wording. Click \u201cShow in content\u201d to jump to the block.<\/li>\n<li><strong>One-click fixes.<\/strong> Where a like-for-like alternative exists, replace the phrase with one click, for example \u201cmaster bedroom\u201d becomes \u201cprimary bedroom\u201d and \u201cno pets\u201d becomes \u201cassistance animals welcome; no other pets\u201d.<\/li>\n<li><strong>Approved exceptions.<\/strong> Mark a phrase as reviewed for a single listing, such as \u201c55+ community\u201d for qualifying senior housing, so it stops being flagged there while every other listing is still checked.<\/li>\n<li><strong>Two levels.<\/strong> \u201cLikely issue\u201d for wording that states who may or may not live in a home, and \u201cReview context\u201d for phrases that are often fine but can signal a preference, such as \u201cnear church\u201d or \u201cmaster bedroom\u201d.<\/li>\n<li><strong>More than 130 built-in phrases<\/strong> covering familial status, age, sex, disability, race, color, national origin, religion, source of income and steering.<\/li>\n<li><strong>Pre-publish summary,<\/strong> with an optional confirmation step before content with likely issues can be published.<\/li>\n<li><strong>Site audit<\/strong> under Equiroof &gt; Audit scans all existing content in batches and lets you export the findings to CSV.<\/li>\n<li><strong>Status column, filter and bulk re-check<\/strong> in your post and page lists show which listings are clear, need review or have likely issues.<\/li>\n<li><strong>Dashboard widget<\/strong> with listing counts by status and the latest listings that need attention.<\/li>\n<li><strong>Site Health test<\/strong> that reports listings with likely issues or listings that have not been checked yet.<\/li>\n<li><strong>Classic editor support.<\/strong> Content types that do not use the block editor get \u201cListing check\u201d and \u201cRent &amp; fees\u201d meta boxes, so Equiroof also works alongside listing plugins built on the classic editor.<\/li>\n<li><strong>Your own rules.<\/strong> Add custom phrases with your own suggestions, or ignore built-in phrases that do not apply in your market.<\/li>\n<\/ul>\n\n<h4>Rent and fee disclosure<\/h4>\n\n<ul>\n<li>A <strong>\u201cRent &amp; fees\u201d panel<\/strong> stores the base rent, security deposit and an itemised list of fees with their frequency and whether they are mandatory.<\/li>\n<li>The <strong>Rent Disclosure block<\/strong> (or the <code>[equiroof_rent]<\/code> shortcode) shows the <strong>total monthly rent first<\/strong>: base rent plus every mandatory recurring fee. Mandatory annual fees are converted to a monthly amount.<\/li>\n<li>Upfront charges and optional extras are listed separately, together with an <strong>estimated move-in total<\/strong> (first month, deposit, monthly fees and one-time fees, plus annual fees explicitly marked as due at move-in), so renters see the full picture.<\/li>\n<li>Optionally add the disclosure automatically after the listing content.<\/li>\n<\/ul>\n\n<h4>Equal housing statement<\/h4>\n\n<ul>\n<li>The <strong>Equal Housing Statement block<\/strong> and the <code>[equiroof_housing_statement]<\/code> shortcode display your statement. Edit the default text in Equiroof &gt; Settings.<\/li>\n<\/ul>\n\n<h4>Works with your setup<\/h4>\n\n<ul>\n<li>Use regular posts as listings, or any custom post type registered by another plugin. Choose the content types in Equiroof &gt; Settings.<\/li>\n<li>No account, no external service and no tracking. All checks run on your own site.<\/li>\n<li>Translation ready.<\/li>\n<\/ul>\n\n<h4>Important<\/h4>\n\n<p>Equiroof is an editorial aid. It does not provide legal advice and cannot guarantee that any content complies with the law. Fair housing and advertising rules differ between countries, states and cities. Review flagged phrases in context and ask a qualified professional when in doubt.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>equiroof<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the plugin through Plugins &gt; Add New.<\/li>\n<li>Activate the plugin through the Plugins screen.<\/li>\n<li>Open the new Equiroof menu in the admin sidebar and go to Equiroof &gt; Settings to choose the content types to check and set your currency.<\/li>\n<li>Open any listing and look for the \u201cListing check\u201d and \u201cRent &amp; fees\u201d panels in the post settings sidebar (or the meta boxes in the classic editor).<\/li>\n<li>Run Equiroof &gt; Audit to check existing content.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20equiroof%20guarantee%20my%20listings%20are%20legally%20compliant%3F\"><h3>Does Equiroof guarantee my listings are legally compliant?<\/h3><\/dt>\n<dd><p>No. It highlights wording that fair housing guidance commonly flags and suggests alternatives, but every listing must be reviewed by a person. Laws also vary by location.<\/p><\/dd>\n<dt id=\"which%20content%20does%20it%20check%3F\"><h3>Which content does it check?<\/h3><\/dt>\n<dd><p>The title, excerpt and content of the content types you enable in Equiroof &gt; Settings. By default these are posts and pages.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20with%20my%20real%20estate%20listings%20plugin%3F\"><h3>Can I use it with my real estate listings plugin?<\/h3><\/dt>\n<dd><p>Yes, if the plugin stores listings as a post type that uses the block editor. Enable that post type in Equiroof &gt; Settings. The site audit and the list column also work for post types edited in other editors.<\/p><\/dd>\n<dt id=\"a%20phrase%20is%20flagged%20but%20it%20is%20fine%20in%20my%20market.%20what%20can%20i%20do%3F\"><h3>A phrase is flagged but it is fine in my market. What can I do?<\/h3><\/dt>\n<dd><p>Add it to \u201cIgnored built-in phrases\u201d in Equiroof &gt; Settings. You can also turn off the \u201cReview context\u201d level entirely.<\/p><\/dd>\n<dt id=\"a%20flagged%20phrase%20is%20legitimate%20for%20one%20listing.%20can%20i%20keep%20it%3F\"><h3>A flagged phrase is legitimate for one listing. Can I keep it?<\/h3><\/dt>\n<dd><p>Yes. Click \u201cMark as reviewed\u201d on the finding in the Listing check panel, or tick it in the classic editor meta box. It will no longer be flagged for that listing only. You can undo this at any time.<\/p><\/dd>\n<dt id=\"what%20does%20%E2%80%9Creplace%20with%20%E2%80%A6%E2%80%9D%20change%3F\"><h3>What does \u201cReplace with \u2026\u201d change?<\/h3><\/dt>\n<dd><p>It swaps every occurrence of that phrase in the same block, title or excerpt for the suggested wording and keeps the original capitalisation. You can undo it with the editor's Undo button.<\/p><\/dd>\n<dt id=\"how%20is%20the%20monthly%20total%20calculated%3F\"><h3>How is the monthly total calculated?<\/h3><\/dt>\n<dd><p>Base rent plus every fee marked as mandatory with a monthly frequency, plus mandatory yearly fees divided by twelve. One-time charges, the deposit and optional fees are shown separately and are not included in the monthly total. The total due at move-in adds the first month, the deposit and every mandatory one-time fee.<\/p><\/dd>\n<dt id=\"does%20it%20send%20my%20content%20anywhere%3F\"><h3>Does it send my content anywhere?<\/h3><\/dt>\n<dd><p>No. All checks run locally on your server and in your browser. Equiroof makes no external requests.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data if I delete the plugin?<\/h3><\/dt>\n<dd><p>The plugin settings, stored scan results and per-listing approvals are removed. Rent and fee details you entered are kept with your listings in case you reinstall the plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Catch fair housing red flags in property listings as you write, and advertise rentals with an honest all-in monthly price.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/388784","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=388784"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mujahidwp"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=388784"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=388784"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=388784"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=388784"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=388784"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=388784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}