{"id":2862,"date":"2026-02-06T17:42:16","date_gmt":"2026-02-06T17:42:16","guid":{"rendered":"https:\/\/daazlabs.com\/?page_id=2862"},"modified":"2026-09-03T19:27:32","modified_gmt":"2026-09-03T19:27:32","slug":"advanced-filtering","status":"publish","type":"page","link":"https:\/\/daazlabs.com\/pt\/newssync\/docs\/advanced-filtering\/","title":{"rendered":"Advanced Filtering"},"content":{"rendered":"<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<style>\n  .daaz-page * { box-sizing: border-box; margin: 0; padding: 0; }\n  .daaz-page { font-family: 'Segoe UI', Arial, sans-serif; color: #0D1B2A; }\n  .daaz-page .docs-hero { background: #0D1B2A; padding: 48px 48px 40px; }\n  .daaz-page .eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 2.5px; color: #5BA3E8; text-transform: uppercase; margin-bottom: 12px; }\n  .daaz-page .docs-hero-h1 { font-size: 30px; font-weight: 500; color: #fff; line-height: 1.25; max-width: 680px; margin-bottom: 10px; }\n  .daaz-page .docs-hero-sub { font-size: 14.5px; color: #A8C8F0; line-height: 1.7; max-width: 620px; }\n  .daaz-page .docs-breadcrumb { font-size: 12px; margin-bottom: 14px; }\n  .daaz-page .docs-breadcrumb a { color: #5BA3E8; text-decoration: none; }\n  .daaz-page .docs-breadcrumb a:hover { text-decoration: underline; }\n  .daaz-page .docs-breadcrumb span { color: #6E8CB0; }\n  .daaz-page .docs-shell { max-width: 1280px; margin: 0 auto; padding: 48px; display: grid; grid-template-columns: 250px 1fr; gap: 56px; align-items: start; background: #fff; }\n  .daaz-page .docs-sidebar { position: sticky; top: 24px; }\n  .daaz-page .docs-nav-group { margin-bottom: 26px; }\n  .daaz-page .docs-nav-label { font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: #5F7A96; margin-bottom: 10px; }\n  .daaz-page .docs-nav-link { display: block; font-size: 14px; color: #0D1B2A; text-decoration: none; padding: 8px 10px; border-radius: 7px; margin-bottom: 2px; line-height: 1.4; }\n  .daaz-page .docs-nav-link:hover { background: #F4F8FC; }\n  .daaz-page .docs-nav-link.active { background: #E6F1FB; color: #185FA5; font-weight: 600; }\n  .daaz-page .docs-nav-link.external::after { content: \" \u2197\"; font-size: 11px; color: #5F7A96; }\n  .daaz-page .docs-content { min-width: 0; max-width: 760px; }\n  .daaz-page .docs-content h2 { font-size: 22px; font-weight: 600; color: #0D1B2A; margin: 40px 0 14px; }\n  .daaz-page .docs-content h2:first-child { margin-top: 0; }\n  .daaz-page .docs-content h3 { font-size: 16px; font-weight: 600; color: #0D1B2A; margin: 26px 0 10px; }\n  .daaz-page .docs-content p { font-size: 14.5px; color: #3D4F63; line-height: 1.75; margin-bottom: 14px; }\n  .daaz-page .docs-content ul, .daaz-page .docs-content ol { margin: 0 0 16px 20px; }\n  .daaz-page .docs-content li { font-size: 14.5px; color: #3D4F63; line-height: 1.8; margin-bottom: 6px; }\n  .daaz-page .docs-content code { background: #F4F8FC; border: 1px solid #D0DFF0; border-radius: 4px; padding: 1px 6px; font-family: 'Consolas','Courier New',monospace; font-size: 13px; color: #185FA5; }\n  .daaz-page .docs-content pre { background: #0D1B2A; color: #CFE3FA; padding: 18px 20px; border-radius: 10px; font-family: 'Consolas','Courier New',monospace; font-size: 13px; line-height: 1.7; overflow-x: auto; margin: 16px 0 20px; }\n  .daaz-page .callout { border-radius: 10px; padding: 16px 18px; margin: 20px 0; font-size: 13.5px; line-height: 1.7; }\n  .daaz-page .callout-info { background: #EBF4FF; border-left: 3px solid #2A7FD4; color: #22405F; }\n  .daaz-page .doc-table { width: 100%; border-collapse: collapse; margin: 12px 0 24px; font-size: 13.5px; }\n  .daaz-page .doc-table th { text-align: left; background: #F4F8FC; color: #0D1B2A; font-weight: 600; padding: 10px 12px; border-bottom: 2px solid #D0DFF0; }\n  .daaz-page .doc-table td { padding: 10px 12px; border-bottom: 1px solid #EBF0F7; color: #3D4F63; vertical-align: top; }\n  .daaz-page .step-list { counter-reset: step; list-style: none; margin: 20px 0; padding: 0; }\n  .daaz-page .step-list li { counter-increment: step; position: relative; padding-left: 40px; margin-bottom: 18px; font-size: 14.5px; color: #3D4F63; line-height: 1.7; }\n  .daaz-page .step-list li::before { content: counter(step); position: absolute; left: 0; top: 0; width: 26px; height: 26px; border-radius: 50%; background: #2A7FD4; color: #fff; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }\n  .daaz-page .step-list strong { color: #0D1B2A; }\n  .daaz-page .pro-badge { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: 0.6px; color: #7C5CE0; background: #F4F0FF; border-radius: 5px; padding: 2px 7px; margin-left: 6px; vertical-align: middle; text-transform: uppercase; }\n  .daaz-page .docs-pager { display: flex; justify-content: space-between; margin-top: 48px; padding-top: 24px; border-top: 1px solid #EBF0F7; }\n  .daaz-page .docs-pager a { font-size: 13.5px; color: #185FA5; text-decoration: none; font-weight: 600; }\n  .daaz-page .docs-pager a:hover { text-decoration: underline; }\n  .daaz-page .docs-pager .pager-label { display: block; font-size: 11px; color: #5F7A96; font-weight: 400; margin-bottom: 2px; }\n  .daaz-page .docs-pager .next { text-align: right; margin-left: auto; }\n  @media (max-width: 860px) {\n    .daaz-page .docs-shell { grid-template-columns: 1fr; padding: 32px 24px; gap: 28px; }\n    .daaz-page .docs-sidebar { position: static; }\n    .daaz-page .docs-hero { padding: 36px 24px; }\n    .daaz-page .docs-hero-h1 { font-size: 24px; }\n  }\n<\/style>\n<\/head>\n<body>\n<div class=\"daaz-page\">\n\n<section class=\"docs-hero\">\n  <div class=\"docs-breadcrumb\"><a href=\"\/pt\/docs\/\">Docs<\/a> <span>\/ Advanced Features<\/span><\/div>\n  <div class=\"eyebrow\">Advanced Features <span class=\"pro-badge\">PRO<\/span><\/div>\n  <div class=\"docs-hero-h1\">Advanced Filtering<\/div>\n  <div class=\"docs-hero-sub\">Go beyond category filtering \u2014 match articles by keyword, using OR logic or precise AND-groups, per shortcode or site-wide.<\/div>\n<\/section>\n\n<section class=\"docs-shell\">\n\n  <div class=\"docs-sidebar\">\n    <div class=\"docs-nav-group\">\n      <div class=\"docs-nav-label\">Getting Started<\/div>\n      <a href=\"\/pt\/docs\/\" class=\"docs-nav-link\">Overview<\/a>\n      <a href=\"\/pt\/docs\/newssync-installation\/\" class=\"docs-nav-link\">Installation &amp; Setup<\/a>\n    <\/div>\n    <div class=\"docs-nav-group\">\n      <div class=\"docs-nav-label\">AI Features<\/div>\n      <a href=\"\/pt\/docs\/ai-summaries\/\" class=\"docs-nav-link\">AI Summaries<\/a>\n      <a href=\"\/pt\/docs\/custom-providers\/\" class=\"docs-nav-link\">Custom AI Providers<\/a>\n    <\/div>\n    <div class=\"docs-nav-group\">\n      <div class=\"docs-nav-label\">Advanced Features<\/div>\n      <a href=\"\/pt\/docs\/full-text-extraction\/\" class=\"docs-nav-link\">Full-Text Extraction<\/a>\n      <a href=\"\/pt\/docs\/advanced-filtering\/\" class=\"docs-nav-link active\">Advanced Filtering<\/a>\n      <a href=\"\/pt\/docs\/managed-feeds\/\" class=\"docs-nav-link\">Managed Feeds<\/a>\n      <a href=\"https:\/\/daazlabs.com\/pt\/news-shortcodes\/\" class=\"docs-nav-link external\">Shortcode Reference<\/a>\n    <\/div>\n    <div class=\"docs-nav-group\">\n      <div class=\"docs-nav-label\">PRO Features<\/div>\n      <a href=\"\/pt\/docs\/unlimited-mode\/\" class=\"docs-nav-link\">Unlimited Mode<\/a>\n      <a href=\"https:\/\/daazlabs.com\/pt\/daazsync-pro\/\" class=\"docs-nav-link\">Pricing &amp; Plans<\/a>\n    <\/div>\n  <\/div>\n\n  <div class=\"docs-content\">\n\n    <h2>Category filtering (Free) vs. keyword filtering (PRO)<\/h2>\n    <p>The free version filters at the <strong>category<\/strong> level \u2014 assign a category to each feed, then show only that category:<\/p>\n    <pre>&#91;newssync category=\"Tech\"&#93;<\/pre>\n    <p>DaazSync PRO adds <strong>keyword_filter<\/strong> \u2014 match on the actual words inside each article, independent of which feed it came from.<\/p>\n\n    <h2>OR logic \u2014 match any of these topics<\/h2>\n    <p>Comma-separated keywords are matched with OR logic \u2014 an article needs to contain <em>any one<\/em> of them:<\/p>\n    <pre>&#91;newssync keyword_filter=\"AI,machine learning,robotics\"&#93;<\/pre>\n    <p>Shows articles that mention AI <em>ou<\/em> machine learning <em>ou<\/em> robotics.<\/p>\n\n    <h2>AND-groups \u2014 match the intersection of topics<\/h2>\n    <p>Separate groups with a pipe <code>|<\/code> to require at least one match from <em>each<\/em> group:<\/p>\n    <pre>&#91;newssync keyword_filter=\"AI,machine learning|crypto,blockchain,DeFi\"&#93;<\/pre>\n    <p>Shows only articles that mention <strong>both<\/strong> an AI topic <strong>and<\/strong> a crypto topic \u2014 the intersection of the two groups, not just either one.<\/p>\n\n    <h2>Site-wide rules<\/h2>\n    <p>Prefer to set filtering once instead of repeating it on every shortcode? Go to <strong>DaazSync \u2192 Settings \u2192 Filtering<\/strong> (PRO tab) and set global include\/exclude keyword rules. Every <code>&#91;newssync&#93;<\/code> shortcode on every page respects them automatically \u2014 no need to repeat <code>keyword_filter<\/code> everywhere.<\/p>\n    <div class=\"callout callout-info\">\n      Site-wide exclude rules are useful for keeping unwanted topics off your entire site permanently (e.g. excluding a competitor&#8217;s brand name), while per-shortcode <code>keyword_filter<\/code> is better for building topic-specific sections on individual pages.\n    <\/div>\n\n    <h2>Combining with other attributes<\/h2>\n    <pre>&#91;newssync layout=\"grid\" limit=\"8\" keyword_filter=\"AI,machine learning|crypto,blockchain,DeFi\" show_source=\"yes\"&#93;<\/pre>\n    <p>Keyword filtering works alongside every other shortcode attribute \u2014 layout, limit, ordering, and display toggles. See the full <a href=\"https:\/\/daazlabs.com\/pt\/news-shortcodes\/\">Shortcode Reference<\/a> for the complete attribute list.<\/p>\n\n    <div class=\"docs-pager\">\n      <a href=\"\/pt\/docs\/full-text-extraction\/\"><span class=\"pager-label\">\u2190 Back<\/span>Full-Text Extraction<\/a>\n      <a class=\"next\" href=\"\/pt\/docs\/managed-feeds\/\"><span class=\"pager-label\">Next<\/span>Managed Feeds \u2192<\/a>\n    <\/div>\n\n  <\/div>\n<\/section>","protected":false},"excerpt":{"rendered":"<p>Docs \/ Advanced Features Advanced Features PRO Advanced Filtering Go beyond category filtering \u2014 match articles by keyword, using OR logic or precise AND-groups, per shortcode or site-wide. Getting Started Overview Installation &amp; Setup AI Features AI Summaries Custom AI Providers Advanced Features Full-Text Extraction Advanced Filtering Managed Feeds Shortcode Reference PRO Features Unlimited Mode [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2853,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2862","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/daazlabs.com\/pt\/wp-json\/wp\/v2\/pages\/2862","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daazlabs.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/daazlabs.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/daazlabs.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/daazlabs.com\/pt\/wp-json\/wp\/v2\/comments?post=2862"}],"version-history":[{"count":5,"href":"https:\/\/daazlabs.com\/pt\/wp-json\/wp\/v2\/pages\/2862\/revisions"}],"predecessor-version":[{"id":10375,"href":"https:\/\/daazlabs.com\/pt\/wp-json\/wp\/v2\/pages\/2862\/revisions\/10375"}],"up":[{"embeddable":true,"href":"https:\/\/daazlabs.com\/pt\/wp-json\/wp\/v2\/pages\/2853"}],"wp:attachment":[{"href":"https:\/\/daazlabs.com\/pt\/wp-json\/wp\/v2\/media?parent=2862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}