{"id":2242101,"date":"2026-01-20T12:26:46","date_gmt":"2026-01-20T12:26:46","guid":{"rendered":"https:\/\/celebrity.land\/en\/?p=2242101"},"modified":"2026-01-20T12:26:46","modified_gmt":"2026-01-20T12:26:46","slug":"chateau-impney-bbc-series-shakespeare-and-hathaway-shooting","status":"publish","type":"post","link":"https:\/\/celebrity.land\/en\/chateau-impney-bbc-series-shakespeare-and-hathaway-shooting\/","title":{"rendered":"Chateau Impney: BBC series Shakespeare and Hathaway shooting"},"content":{"rendered":"<p><\/p>\n<div id=\"subscription-content\">\n<p>\n  Shakespeare and Hathaway: Private Investigators, a BBC TV show about two Stratford-upon-Avon detectives who solve bizarre cases, has begun filming at Chateau Impney in Droitwich.\n<\/p>\n<p>\n  Stars like Jo Joyner, from EastEnders, Little Disasters and For Her Sins, and Early Doors actor and TV presenter Mark Benton star in the show.\n<\/p>\n<p>\n  It is understood that TV crews will be filming scenes at the Industrial estate at Chateau Impney before the cast move on to shoot scenes at the hotel itself.\n<\/p>\n<p>\n  <img srcset=\"https:\/\/www.worcesternews.co.uk\/resources\/images\/20428626\/?type=mds-article-575 575w, https:\/\/www.worcesternews.co.uk\/resources\/images\/20428626\/?type=mds-article-962 962w, https:\/\/www.worcesternews.co.uk\/resources\/images\/20428626\/?type=mds-article-642 1400w, https:\/\/www.worcesternews.co.uk\/resources\/images\/20428626\/?type=mds-article-620 1401w\" sizes=\"(max-width: 575px) 575px, (max-width: 992px) 962px, (max-width: 1400px) 1400px, (min-width: 1401px) 1401px\" width=\"100%\"\/><span class=\"inline-image-caption\">Stars have been filming scenes in some derelict outbuilding on the estate. (Image: Newsquest)<\/span>\n<\/p>\n<p>\n  The TV show is currently in its 5th season with the filming in Droitwich suspected to be for its sixth.\n<\/p>\n<p>\n  Shakespeare and Hathaway: Private Investigators is allegedly not the first show to be filmed at Chateau Impney and many reportedly saw stars from Silent Witness there last year.\n<\/p>\n<p>\n  It is unknown how long the show will be filming in Droitwich.\n<\/p>\n<\/div>\n<p><script type = \"text\/javascript\">\n( function () {\n    window._sp_ = {\n        config: {\n            baseEndpoint: 'https:\/\/a02342.worcesternews.co.uk',\n            accountId: 52,\n            targetingParams:{\n                subscribed: false,\n                privacy: false\n            },\n            gdpr: { },\n            events: {\n                onMessageReady: function (message_type) {\n                    trackSPEvents('event76');\n                },\n                onMessageChoiceSelect: function (message_type, choice_id, choice_type_id) {\n                    console.log('message_type: ', message_type);\n                    console.log('choice_id: ', choice_id);\n                    console.log('choice_type_id: ', choice_type_id);\n                    if ('yes' === 'yes') {\n                        if (choice_type_id === 12) {\n                            trackSPEvents('event83'); \/\/Consent Banner Reject All\n                            trackSPEvents('event82'); \/\/Journalism Message Shown\n                        }\n                        if (choice_type_id === 11) {\n                            trackSPEvents('event78');\n                        }\n                        if (choice_type_id === 9) {\n                            trackSPEvents('event77');\n                        }\n                    } else {\n                        \/\/ these are the second argument in non-gate\n                        if (choice_type_id === 12) {\n                            trackSPEvents('event77');\n                        }\n                        if (choice_type_id === 11) {\n                            trackSPEvents('event78');\n                        }\n                        if (choice_type_id === 13) {\n\t\t                    trackSPEvents('event83');\n                        }\n                    }\n                },\n                onPrivacyManagerActionStatus: function(message_type, status, actionType) {\n                    console.log('message_type: ' + message_type);\n                    console.log('status: ' + status);\n                    console.log('actionType: ' + actionType);\n                    if ('yes' === 'yes') {\n                        if (actionType === 11) {\n                            trackSPEvents('event79'); \/\/Privacy Manager Accept\n                        }\n                        if (actionType === 9) {\n                            trackSPEvents('event68'); \/\/Privacy Manager Redirect\n                        }\n                        if (actionType === 1) {\n                            trackSPEvents('event75'); \/\/Forced tcf String Change\n                        }\n                    } else {\n                    \/\/ these are the second argument in non-gate\n                        if (actionType === 13) {\n                            trackSPEvents('event81'); \/\/Privacy Manager Reject\n                        }\n                        if (actionType === 11) {\n                            trackSPEvents('event79'); \/\/Privacy Manager Accept\n                        }\n                        if (actionType === 1) {\n                            trackSPEvents('event80'); \/\/Privacy Manager Save & Exit\n                        }\n                    }\n                },\n                onPMCancel: function (message_type) {\n                    console.log('onPMCancel', message_type);\n                    trackSPEvents('event84'); \/\/Privacy Manager Back\n                },\n            }\n        }\n    }\n    __tcfapi('addEventListener', 2, function (tcData, success) {\n        console.log('SP: Event Listen:', tcData, success);\n        if (success && tcData.eventStatus === 'useractioncomplete') {\n            setTcfCookie(tcData.purpose.consents, tcData.purpose.legitimateInterests);\n            var csnt=\"none\";\n            if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') {\n                csnt=\"yes\";\n            } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') {\n                csnt=\"no\";\n            }\n            googletag.cmd.push(function() {\n                \/\/ console.log('DFP: Cookie check - setting dfpcsnt to ', csnt);\n                googletag.pubads().setTargeting('dfpcsnt', csnt);\n            });\n            \/\/ ready to start DFP\n            \/\/ console.log('PIANO: setting unrestricted via useractioncomplete');\n            \/\/ runPiano('unrestricted');\n            startAdvertising(tcData.listenerId);\n            var e = new Event('launch:cmp:choice-made');\n            window.dispatchEvent(e);\n        } else if (success && tcData.eventStatus === 'tcloaded') {\n            \/\/ tcloaded means a valid TCF v2.0 string is available\n            \/\/ console.log('PIANO: setting unrestricted via tcloaded');\n            \/\/ runPiano('unrestricted');\n            if (tcData.gdprApplies === false) {\n                $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.worcesternews.co.uk', path: \"https:\/\/www.worcesternews.co.uk\/\", expires: 100});\n            }\n            startAdvertising(tcData.listenerId);\n        } else if (success && tcData.eventStatus === 'useractionnotcomplete') {\n            \/\/ do nothing - this means the user has not made a choice yet\n        } else if (success && tcData.eventStatus === 'cmpuishown') {\n            \/\/ do nothing - this means the CMP UI has been shown\n        } else if (!success) {\n            \/\/ $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.worcesternews.co.uk', path: \"https:\/\/www.worcesternews.co.uk\/\", expires: 100});\n            \/\/ startAdvertising();\n        } else {\n            \/\/ console.log('PIANO: setting restricted');\n            \/\/ runPiano('restricted');\n        }\n    });\n    $(document).on('click', '.gdpr-option-v2', function (e) {\n        e.preventDefault();\n        sendEvent76 = false;\n        var id = $(this).data('v2-id');\n        if ($(this).data('is-gate') === 'yes') {\n            trackSPEvents('event87');\n            _sp_.gdpr.loadPrivacyManagerModal(id);\n        } else {\n            trackSPEvents('event77');\n            _sp_.gdpr.loadPrivacyManagerModal(id);\n        }\n    });\n    function getTcfData() {\n        __tcfapi('addEventListener', 2, function(data, success) {\n            if (!data.purpose || !data.purpose.consents || !data.purpose.legitimateInterests) {\n                \/\/ console.log('DFP: No TCF data found, not setting cookies');\n                return;\n            }\n            setTcfCookie(data.purpose.consents, data.purpose.legitimateInterests);\n        }, [755]);\n    }\n    getTcfData();\n    function setTcfCookie(data, legitimateInterests) {\n        var consents = [];\n        $.each(data, function(id, consent)  {\n            var c = (consent === true) ? 'yes' : 'no';\n            consents.push(c)\n        });\n        \/\/ console.log('DFP: consents length: ', consents.length);\n        if (consents.length !== 10) {\n            \/\/ consents = consents.fill('no', consents.length, 10);\n            for (var i = consents.length; i < 10; i++) {\n                consents[i] = 'no';\n            }\n        }\n        \/\/ console.log('DFP: Found consents to store in cookie:', consents);\n        $.cookie('prev-tcf-v2', consents.join(','), {domain: '.worcesternews.co.uk', path: \"https:\/\/www.worcesternews.co.uk\/\", expires: 100});\n\n        var consentEvent4 = 'none';\n        if (typeof data[4] !== 'undefined') {\n            consentEvent4 = data[4] ? 'true' : 'false';\n        }\n        $.cookie('_sp_enable_dfp_personalized_ads', consentEvent4, {domain: '.worcesternews.co.uk', path: \"https:\/\/www.worcesternews.co.uk\/\", expires: 100});\n\n        var legitInterest=\"none\";\n        if (legitimateInterests &#038;&#038; typeof legitimateInterests[2] !== 'undefined') {\n            legitInterest = legitimateInterests[2] ? 'true' : 'false';\n        }\n\n        $.cookie('_sp_legitimate_interests', legitInterest , {domain: '.worcesternews.co.uk', path: \"https:\/\/www.worcesternews.co.uk\/\", expires: 100});\n    }\n\n    var sendEvent76 = true;\n\n    function trackSPEvents(events) {\n        if (events === 'event76' &#038;&#038; !sendEvent76) {\n            return;\n        } else if (events === 'event76') {\n            sendEvent76 = false;\n        }\n\n        if (typeof window.s !== 'object') {\n            \/\/ console.log('DFP: No window.s object found, trying again in 1 second');\n            window.setTimeout(function () { trackSPEvents(events)} , 1000);\n            return;\n        }\n\n        \/\/ console.log(\"ADB: Tracking %s\", events);\n        \/\/ Re-create the Omniture object so the data can be tracked.\n        var s = window.s;\n\n        if (events.indexOf('event70') !== -1) {\n            \/\/ console.log('DFP: Events passed, added evars');\n            s.eVar35 = 'enabled';\n            s.prop35 = 'enabled';\n        }\n\n        s.events = events;\n        s.linkTrackEvents = events;\n        s.linkTrackVars = \"eVar2,eVar3,eVar4,eVar5,eVar6,evar7,evar8,evar9,eVar16,eVar19,eVar26,eVar35,eVar43,eVar67,prop35\";\n        s.suppressPageView = true;\n        s.tl(true,'o','Ad Block');\n    }\n\n    function startAdvertising(id)\n    {\n        if (typeof window.doNotAdvertise !== 'undefined' &#038;&#038; window.doNotAdvertise === true) {\n            return;\n        }\n\n        \/\/ console.log(\"DFP: Is the page fully loaded?\", window.googleReady);\n        if (window.googleReady !== true) {\n            window.setTimeout(function () {\n                \/\/ console.log('DFP: Google not fully loaded yet, pausing quarter of a second before trying again');\n                startAdvertising(id);\n            }, 250);\n            return;\n        }\n\n        \/\/ Ensure that we never run this code twice\n        if (window.advertisingStart === true) {\n            return;\n        }\n        \/\/ console.log('DFP: Running advertisement');\n        window.advertisingStart = true;\n\n        var googletag = window.googletag;\n        \/\/ init google objects and array\n        (function() {\n            var gads = document.createElement('script');\n            gads.async = true;\n            gads.type=\"text\/javascript\";\n            gads.src=\"https:\/\/securepubads.g.doubleclick.net\/tag\/js\/gpt.js\";\n            var node = document.getElementsByTagName('script')[0];\n            node.parentNode.insertBefore(gads, node);\n        })();\n\n        \/\/ launch the exco slideshow player\n        launchExcoSlideshow();\n\n        \/\/ load facebook etc\n        loadSocials();\n\n        \/\/ Checking our decision to use headerbidding (shorterned as prebid) is correct\n        \/\/ via system logic, and that we have the simplified consent to do so\n        if (usePrebid &#038;&#038; $.cookie('_sp_enable_dfp_personalized_ads') === 'true') {\n            var e = new Event('launch:sourcepoint:consentaccepted');\n            window.dispatchEvent(e);\n\n            \/\/ AP code initialisation\n            \/\/ the script is loaded via launch, once we have detected a consent signal via the datalayer.\n            fetchAp();\n\n            var site=\"desktop\";\n            var _site=\"desktop\";\n\n            \/\/ load IAS scripts and set up vars\n            (function() {\n                var ias = document.createElement('script');\n                ias.async = true;\n                ias.type=\"text\/javascript\";\n                ias.src=\"https:\/\/cdn.adsafeprotected.com\/iasPET.1.js\";\n                var node = document.getElementsByTagName('script')[0];\n                node.parentNode.insertBefore(ias, node);\n            })();\n\n            \/\/ load the prebid script\n            (function() {\n                var pbs = document.createElement('script');\n                pbs.async = true;\n                pbs.type=\"text\/javascript\";\n                pbs.src=\"https:\/\/micro.rubiconproject.com\/prebid\/dynamic\/11022.js?group=newsquest\";\n                var node = document.getElementsByTagName('script')[0];\n                node.parentNode.insertBefore(pbs, node);\n            })();\n\n            \/\/ tell google to actually get the bids from all relevant vendors when loaded\n            googletag.cmd.push(function () {\n                fetchHeaderBids();\n            });\n        }\n\n        \/\/ Outbrain\n        if (\n            window.data_layer.user.advertising_experience !== 'Ad-Free' &#038;&#038;\n            window.data_layer.config.disable_outbrain !== 'yes'\n        ) {\n            var ob = document.createElement('script');\n            ob.async = true;\n            ob.type=\"text\/javascript\";\n            ob.src=\"https:\/\/widgets.outbrain.com\/outbrain.js\";\n            var node = document.getElementsByTagName('script')[0];\n            node.parentNode.insertBefore(ob, node);\n        }\n\n        \/\/ remove the listener\n        if (id !== null) {\n            window.__tcfapi('removeEventListener', 2, function (success) { }, id);\n        }\n    }\n\n    \/**\n     * Wait until we have advertising consent to show this advertising\n     * based replacement for the single image on our article pages\n     * This logic is based on excoSlidshowPlayerID that only appears on the page\n     * if a user is NOT a subscriber (including privacy plus) and the page has the\n     * correct information to show it (doesn't have a video, not in sport etc)\n     *\/\n    function launchExcoSlideshow() {\n        const slideShowPlayerId = window.excoSlideshowPlayerId;\n        \/\/ if we do not have a player id, we do not need to do anything\n        if (!slideShowPlayerId) {\n            return;\n        }\n\n        \/\/ this is exco's supplied code, modified for our use\n        (function (d, s, n) {\n            fjs = d.getElementsByTagName(s)[0];\n            js = d.createElement(s);\n            js.className = n;\n            js.src=\"\/\/player.ex.co\/player\/\" + slideShowPlayerId;\n            js.setAttribute('programmatic', 'true');\n\t        js.onload = function () {\n                const playerApi = ExCoPlayer.connect(slideShowPlayerId);\n                playerApi.init({});\n\n                playerApi.on('player-load', function(data) {\n                    $('.mar-article-image').remove();\n                    if (window.screen.width > 800) {\n                        $('.article-hero').attr('style', 'order: 1');\n                    }\n                    window.hide_overlay_for_exco = true;\n                });\n            };\n            fjs.parentNode.insertBefore(js, fjs);\n        }(document, 'script', 'exco-player'));\n    }\n    function loadSocials()\n    {\n        const socials = [\n            'https:\/\/platform.twitter.com\/widgets.js',\n            'https:\/\/connect.facebook.net\/en_US\/all.js#xfbml=1',\n            'https:\/\/www.tiktok.com\/embed.js',\n        ];\n        socials.forEach((social) => {\n            var script = document.createElement('script');\n            script.src = social;\n            script.async = true;\n            document.getElementsByTagName('head')[0].appendChild(script);\n        });\n    }\n})();\n<\/script><\/p>\n<p><em> \u2018 The preceding article may include information circulated by third parties \u2019 <\/em><\/p>\n<p><em> \u2018 Some details of this article were extracted from the following source www.worcesternews.co.uk \u2019 <\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Shakespeare and Hathaway: Private Investigators, a BBC TV show about two Stratford-upon-Avon detectives who solve bizarre cases, has begun filming at Chateau Impney in Droitwich. Stars like Jo Joyner, from EastEnders, Little Disasters and For Her Sins, and Early Doors actor and TV presenter Mark Benton star in the show. It is understood that TV [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2242102,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_jetpack_memberships_contains_paid_content":false,"jnews-multi-image_gallery":[],"jnews_single_post":[],"jnews_primary_category":[],"jnews_social_meta":[],"footnotes":""},"categories":[25173],"tags":[],"class_list":["post-2242101","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artists"],"jetpack_featured_media_url":"https:\/\/celebrity.land\/en\/wp-content\/uploads\/2026\/01\/Chateau-Impney-BBC-series-Shakespeare-and-Hathaway-shooting.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts\/2242101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/comments?post=2242101"}],"version-history":[{"count":1,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts\/2242101\/revisions"}],"predecessor-version":[{"id":2242103,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts\/2242101\/revisions\/2242103"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/media\/2242102"}],"wp:attachment":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/media?parent=2242101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/categories?post=2242101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/tags?post=2242101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}