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)
