{"id":2520609,"date":"2026-07-28T15:06:53","date_gmt":"2026-07-28T15:06:53","guid":{"rendered":"https:\/\/celebrity.land\/en\/?p=2520609"},"modified":"2026-07-28T15:06:53","modified_gmt":"2026-07-28T15:06:53","slug":"live-music-art-and-family-fun-in-salisbury-this-weekend","status":"publish","type":"post","link":"https:\/\/celebrity.land\/en\/live-music-art-and-family-fun-in-salisbury-this-weekend\/","title":{"rendered":"Live music, art and family fun in Salisbury this weekend"},"content":{"rendered":"<p><\/p>\n<div id=\"subscription-content\">\n<p>\n  Live music, art and family events are on across Salisbury this weekend.\n<\/p>\n<p>\n  Cholderton Rare Breeds Farm hosts its monthly Sunset Session on Friday, from 5pm to 8pm.\n<\/p>\n<p>\n  The event has live music, food, drink and children\u2019s activities as the sun sets over the farm\u2019s vineyards.\n<\/p>\n<p>\n  Revellers can enjoy local wines and beers while younger guests explore the farm and play areas.\n<\/p>\n<p>\n  Entry costs \u00a32, while children under 2 go free.\n<\/p>\n<p>\n  In Salisbury itself, the ever-popular <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/www.salisburyjournal.co.uk\/news\/26291594.photos-salisburys-fayre-square-returns-2026\/\" target=\"_blank\">Fayre on the Square has returned<\/a> to the city centre and will continue throughout the summer.\n<\/p>\n<p>\n  This summer\u2019s seaside-themed fayre has mini golf, sandpits, giant Jenga and games for all ages.\n<\/p>\n<p>\n  Live music, entertainment and street food are also on offer.\n<\/p>\n<p>\n  Solarbird play Friday, 8pm to 10pm, followed by The Few at the same time on Saturday; Millie performs Sunday, 2.30pm to 4.30pm.\n<\/p>\n<p>\n  Seating is provided and all performances are free to enjoy.\n<\/p>\n<p>\n  On Sunday, art lovers can visit the latest Art on the Square exhibition in Salisbury\u2019s market square, part of a monthly event running since March.\n<\/p>\n<p>\n  The open-air gallery features paintings, pottery and live performances.\n<\/p>\n<p>\n  Tony Roger plays saxophone jazz, while Dan Ward and Colin Elliott bring acoustic blues.\n<\/p>\n<p>\n  Entry is free, while \u00a35 buys materials to make your own art.\n<\/p>\n<p>\n  The event is expected to run from 10am to 4pm, weather permitting.\n<\/p>\n<p>\n  Music-lovers can also book tickets for <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/www.salisburyjournal.co.uk\/news\/26277944.salisbury-cathedral-transformed-art-late-event\/\" target=\"_blank\">Salisbury Cathedral&#8217;s Art Late event on July 31<\/a>, as part of Joyful Noise, where they will experience DJ sets throughout the evening from 7pm.\n<\/p>\n<p>\n  Bongo\u2019s Bingo returns to <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/www.salisburyjournal.co.uk\/topics\/salisbury-city-hall\/?ref=au\" target=\"_blank\">Salisbury City Hall<\/a> on July 31.\n<\/p>\n<p>\n  The July 31 event is sold out, but another is planned for August 28.\n<\/p>\n<p>\n  For families with younger children, the <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/www.salisburyjournal.co.uk\/news\/26167207.salisbury-bear-hunt-returning-summer-support-childrens-hospice\/?ref=ed_direct#:~:text=Running%20from%20Saturday%2C%20July%2011%20to%20Saturday%2C%20September%205%2C%20the%20event%20will%20see%20100%20teddy%20bears%20hidden%20in%20shop%20windows%20across%20the%20city.\" target=\"_blank\">Julia\u2019s House Bear Hunt<\/a> continues throughout the summer holidays, offering a fun trail around the city centre.\n<\/p>\n<p>\n  <strong><em>Will you be going to any of these events? Or did we miss anything? Comment below.<\/em><\/strong>\n<\/p>\n<\/div>\n<p><script type = \"text\/javascript\">\n( function () {\n    window._sp_ = {\n        config: {\n            baseEndpoint: 'https:\/\/a02342.salisburyjournal.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: '.salisburyjournal.co.uk', path: \"https:\/\/www.salisburyjournal.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: '.salisburyjournal.co.uk', path: \"https:\/\/www.salisburyjournal.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: '.salisburyjournal.co.uk', path: \"https:\/\/www.salisburyjournal.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: '.salisburyjournal.co.uk', path: \"https:\/\/www.salisburyjournal.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: '.salisburyjournal.co.uk', path: \"https:\/\/www.salisburyjournal.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' || window.data_layer.config.disable_outbrain === 'yes') ||\n            (window.data_layer.user.advertising_experience === 'Ad-Light' &#038;&#038; window.data_layer.config.disable_outbrain_with_ad_light === 'yes')\n        ) {\n            \/\/ console.log(\"No Outbrain script loading due to page settings\");\n        } else {\n            \/\/ console.log(\"Loading Outbrain\");\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\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.salisburyjournal.co.uk \u2019 <\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Live music, art and family events are on across Salisbury this weekend. Cholderton Rare Breeds Farm hosts its monthly Sunset Session on Friday, from 5pm to 8pm. The event has live music, food, drink and children\u2019s activities as the sun sets over the farm\u2019s vineyards. Revellers can enjoy local wines and beers while younger guests [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2520610,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"jnews-multi-image_gallery":[],"jnews_single_post":[],"jnews_primary_category":[],"jnews_social_meta":[],"footnotes":""},"categories":[25179],"tags":[],"class_list":["post-2520609","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-music"],"jetpack_featured_media_url":"https:\/\/celebrity.land\/en\/wp-content\/uploads\/2026\/07\/Live-music-art-and-family-fun-in-Salisbury-this-weekend.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts\/2520609","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=2520609"}],"version-history":[{"count":1,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts\/2520609\/revisions"}],"predecessor-version":[{"id":2520611,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts\/2520609\/revisions\/2520611"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/media\/2520610"}],"wp:attachment":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/media?parent=2520609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/categories?post=2520609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/tags?post=2520609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}