Finally, I got it all work and am happy with the result, here is the code: (defun yz/org-export-ignore-headline (backend) "Ignore headlines with tag `ignoreheading'." (save-excursion (let ((org-allow-promoting-top-level-subtree t)) (org-map-entries (lambda () (when (member "ignoreheading" (org-get-tags-at nil 'local)) (org-promote-subtree) (delete-region (line-beginning-position) (line-end-position))))))))
(add-hook 'org-export-before-parsing-hook 'yz/org-export-ignore-headline)