{"id":332411,"date":"2026-07-16T19:09:48","date_gmt":"2026-07-16T19:09:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/guarded-eyes\/"},"modified":"2026-07-16T19:09:31","modified_gmt":"2026-07-16T19:09:31","slug":"tznius-view","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/tznius-view\/","author":13808560,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.7.1","stable_tag":"1.7.1","tested":"7.0.1","requires":"5.6","requires_php":"7.2","requires_plugins":null,"header_name":"Tznius View","header_author":"Eliyahna","header_description":"Adds a visitor-facing toggle that can hide all images, or only images that contain people, for modest (\"kosher\") browsing. The admin chooses the toggle position and which options appear.","assets_banners_color":"f1f5fc","last_updated":"2026-07-16 19:09:31","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/eliyahna.com\/donate\/","header_plugin_uri":"","header_author_uri":"https:\/\/eliyahna.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":52,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.7.1":{"tag":"1.7.1","author":"Eliyahna","date":"2026-07-16 19:09:31"}},"upgrade_notice":{"1.7.1":"<p>Also hides background images on ::before\/::after overlay layers.<\/p>","1.7.0":"<p>Catches lazy-loaded page-builder backgrounds; adds a hide-all-backgrounds option.<\/p>","1.6.0":"<p>Adds a way to hide CSS background images (e.g. heroes).<\/p>","1.5.1":"<p>Fixes a duplicate toggle when the script loads twice.<\/p>","1.5.0":"<p>Initial public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3610657,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3610658,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3610656,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3610655,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.7.1"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3610668,"resolution":"1","location":"assets","locale":"","width":2557,"height":1395},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3610669,"resolution":"2","location":"assets","locale":"","width":2322,"height":2499},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3610670,"resolution":"3","location":"assets","locale":"","width":2290,"height":1335}},"screenshots":{"1":"The visitor toggle, shown bottom-right.","2":"The settings page: language, position, options, and style.","3":"Marking an image as \"Contains people\" and choosing a replacement."}},"plugin_section":[],"plugin_tags":[5860,163,271941,271940,271942],"plugin_category":[50],"plugin_contributors":[238752],"plugin_business_model":[],"class_list":["post-332411","plugin","type-plugin","status-publish","hentry","plugin_tags-content-filter","plugin_tags-images","plugin_tags-kosher","plugin_tags-modesty","plugin_tags-tznius","plugin_category-media","plugin_contributors-eliyahna","plugin_committers-eliyahna"],"banners":{"banner":"https:\/\/ps.w.org\/tznius-view\/assets\/banner-772x250.jpg?rev=3610655","banner_2x":"https:\/\/ps.w.org\/tznius-view\/assets\/banner-1544x500.jpg?rev=3610656","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tznius-view\/assets\/icon-128x128.jpg?rev=3610657","icon_2x":"https:\/\/ps.w.org\/tznius-view\/assets\/icon-256x256.jpg?rev=3610658","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/tznius-view\/assets\/screenshot-1.jpg?rev=3610668","caption":"The visitor toggle, shown bottom-right."},{"src":"https:\/\/ps.w.org\/tznius-view\/assets\/screenshot-2.jpg?rev=3610669","caption":"The settings page: language, position, options, and style."},{"src":"https:\/\/ps.w.org\/tznius-view\/assets\/screenshot-3.jpg?rev=3610670","caption":"Marking an image as \"Contains people\" and choosing a replacement."}],"raw_content":"<!--section=description-->\n<p>Tznius View adds a small, friendly toggle to the front of your WordPress site. With one tap, a visitor can switch on a modest browsing mode that either hides every image or hides only the images you have marked as containing people. Each visitor's choice is remembered in their own browser, so it stays in effect as they move from page to page.<\/p>\n\n<p>It was built to help Jewish websites \u2014 and anyone who values modesty (tznius) \u2014 offer a respectful \"kosher\" way to browse, without changing what everyone else sees. It is a small aid toward \u05e9\u05de\u05d9\u05e8\u05ea \u05e2\u05d9\u05e0\u05d9\u05d9\u05dd (shemiras einayim), guarding the eyes. Nothing is sent to any outside service: all hiding happens in the visitor's own browser, and you stay in full control of which images count.<\/p>\n\n<h4>What the administrator controls<\/h4>\n\n<ul>\n<li><strong>Language<\/strong> \u2014 English, Yiddish, or Hebrew. Yiddish and Hebrew display right-to-left. You can fine-tune the exact wording (handy for matching your community's spelling).<\/li>\n<li><strong>Position<\/strong> \u2014 top-left, top-right, bottom-left, or bottom-right.<\/li>\n<li><strong>Which options the toggle offers<\/strong> \u2014 hide people only, hide all images only, or both.<\/li>\n<li><strong>How hidden images appear:<\/strong>\n\n<ul>\n<li><em>Placeholder<\/em> \u2014 keep the space and show a neutral box, or a replacement image you choose per image.<\/li>\n<li><em>Remove completely<\/em> \u2014 the image and its space disappear, as if it were never there.<\/li>\n<li><em>Heavily blur<\/em> \u2014 less strict; faint shapes may remain.<\/li>\n<\/ul><\/li>\n<li><strong>Defaults<\/strong> \u2014 optionally start modest mode on for first-time visitors.<\/li>\n<li><strong>Background images<\/strong> \u2014 optionally hide CSS background images (heroes, sliders) that use a marked image.<\/li>\n<\/ul>\n\n<h4>Marking images of people<\/h4>\n\n<p>There is no automatic guessing \u2014 you decide. In Media \u2192 Library, open an image and tick \"Contains people,\" or use the one-click button in the \"People?\" column of the list view. Those images are hidden whenever a visitor turns on \"hide images of people.\"<\/p>\n\n<h4>Replacement images<\/h4>\n\n<p>For any image, you can choose a modest replacement (ideally the same size) on its Edit Media screen. When that image would be hidden, the replacement is shown in its place instead \u2014 in any mode and with any style. This lets you swap a photo containing a person for a tasteful alternative with no people in it.<\/p>\n\n<h4>Keep your logo visible<\/h4>\n\n<p>Tick \"Never hide this image\" on your logo (or any image) in the Media Library and it stays visible in every mode \u2014 no code needed.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In your WordPress admin, go to Plugins \u2192 Add New \u2192 Upload Plugin and upload the .zip, or copy the <code>kosher-view<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the Plugins screen.<\/li>\n<li>Go to Settings \u2192 Tznius View to choose your language, position, and options.<\/li>\n<li>In Media \u2192 Library, mark images that contain people, set any replacement images, and tick \"Never hide\" on your logo.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20send%20my%20images%20anywhere%3F\"><h3>Does it send my images anywhere?<\/h3><\/dt>\n<dd><p>No. Everything happens in the visitor's browser. No images or data are uploaded to any external service.<\/p><\/dd>\n<dt id=\"how%20does%20it%20know%20which%20images%20have%20people%20in%20them%3F\"><h3>How does it know which images have people in them?<\/h3><\/dt>\n<dd><p>You tell it, by marking images in the Media Library. This keeps you in full control and avoids mistakes.<\/p><\/dd>\n<dt id=\"will%20it%20hide%20my%20logo%20or%20design%20elements%20when%20%22hide%20all%20images%22%20is%20on%3F\"><h3>Will it hide my logo or design elements when \"hide all images\" is on?<\/h3><\/dt>\n<dd><p>Only if you let it. Tick \"Never hide this image\" on your logo to keep it visible. Decorative CSS backgrounds are left alone unless you mark the underlying image.<\/p><\/dd>\n<dt id=\"can%20a%20visitor%27s%20choice%20be%20remembered%3F\"><h3>Can a visitor's choice be remembered?<\/h3><\/dt>\n<dd><p>Yes. Each visitor's selection is saved in their own browser and applied automatically on future visits.<\/p><\/dd>\n<dt id=\"will%20background%20images%20be%20hidden%3F\"><h3>Will background images be hidden?<\/h3><\/dt>\n<dd><p>If you enable that option in settings, yes \u2014 but only for images you have marked, matched by file name. They may flash for a moment before being hidden, since CSS backgrounds cannot be pre-hidden the way inline images can.<\/p><\/dd>\n<dt id=\"the%20yiddish%20wording%20isn%27t%20how%20my%20community%20spells%20it.\"><h3>The Yiddish wording isn't how my community spells it.<\/h3><\/dt>\n<dd><p>Open Settings \u2192 Tznius View \u2192 Wording and type your preferred text. It overrides the built-in wording.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Background detection now also covers ::before \/ ::after pseudo-element backgrounds (e.g. Elementor overlay layers).<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Fixed: backgrounds that page builders (e.g. Elementor) lazy-load on scroll are now caught and hidden \u2014 the plugin re-checks when a background is applied late, on scroll, and on full load.<\/li>\n<li>Added: an option to hide EVERY uploaded background image in \u201chide all images\u201d mode, so page-builder section backgrounds are hidden automatically without marking each one.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Added a \u201cThis is a background image\u201d checkbox in the Media Library, so hero\/section backgrounds can be hidden in \u201chide all images\u201d (or show their replacement image).<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Prevent the toggle from rendering more than once if the script is loaded twice.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<\/ul>","raw_excerpt":"A visitor toggle that hides all images, or only images of people, for modest (&quot;kosher&quot;) browsing. In English, Yiddish, and Hebrew.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/332411","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=332411"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/eliyahna"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=332411"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=332411"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=332411"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=332411"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=332411"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=332411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}