I think I'm overthinking this problem and need some hints in the right direction.
The goal of this question is to show that if $P=NP$ then for every language $L \in NP$ via a polynomial time verifier $V$, there is a polynomial time algorithm that given $x \in L$ finds a certificate $x$ satisfying $V$.
Let $V$ be a polynomial time verifier over $\{0,1\}$ such that all strings accepted are of the form $\langle x,c \rangle$ where $x,c \in \{0,1\}^*$.
Let $L \subseteq \{0,1\}^*$ be a language and let $d$ be a positive integer such that for every $x \in L$, there is a string $c$ of length $|x|^d$ such that $V$ accepts $\langle x,c \rangle$ and for every $x \notin L$, there is no string $c$ such that $V$ accepts $\langle x, c \rangle$.
Let $L' = \{\langle x,c_1 \rangle \ |\ x,c_1 \in \{0,1\}^*$ and for some $c_2 \in \{0,1\}^*$, $V$ accepts $\langle x,c_1c_2 \rangle$ and $|c_1c_2| = |x|^d$ $\}$
Prove that $L' \in NP$.
My approach would be to show that $L' \le_p L$ by some reduction function however I am not sure of this. Any help appreciated.