프로그래밍에서 상수와 참조는 중요하다. 변하지 않는다는 약속을 하는 상수는 에러로 가득한 코드에서 유일한 희망이고, 참조는 효율적인 관리를 위한 기본이다.
그런데 곰곰히 생각하면 상수은 변하지 않는다는 약속을 전제로 정의하긴 하지만, 그 기반이 부서지면 상수는 효력을 발휘하기 어렵다. 참조 또한 마찬가지. 참조의 대상이 되는 원본이 변화하는 상황이면 참조는 신뢰를 잃게 된다.
데이터베이스는 ID, 주 키 (primary key)를 기준으로 참조를 진행한다. 해당 데이터베이스 상에서는 유일한 식별자이기 때문에 의미가 있다. 그러나 워드프레스 입장에서 볼 때 이것이 유일하다는 보장을 하기 어렵다. 여러 워드프레스 사이트가 있다고 하자. 각 사이트끼리 비슷한 DB 테이블 구조와 스키마를 가지고 있다. 사이트간에는 이런 ID는 큰 의미가 없다. 그 레코드의 유일함을 보장할 수 없기 때문이다.
그러므로 우리는 워드프레스에서 유사한 개체임을 식별하기 위한 수단으로 문자열을 사용하게 된다. 텀에서는 슬러그, 포스트에서는 메타 키나 포스트 타입을 이용하게 된다.
결국 이런 것들은 문자열이다. 규약은 사람들의 약속으로 이뤄지며 중복의 방지는 제안하는 이가 최대한 중복되지 않도록 노력해야 한다.
개발을 진행하며 플러그인과 테마를 개발할 때도 이 사실은 매우 중요하다. OOP나 기타 세련된 개발 기법을 적용할 때 이 관점을 잘 녹여내는 것이 매우 중요하다. 워드프레스가 가진 기능을 액션, 필터의 콜백을 이용해 확장할 시 깔끔하게 각각의 기능을 모듈화하는 것이 매우 어려워 보인다. 결국 이런 기능들이 여러 조각으로 분산되며 프로그래머들은 이런 분산이 불편해 보일 수도 있다.
그러나 완벽한 구조는 존재하지 않는다. 워드프레스의 기본은 결국 문자열도 된 식별자이다. 정의된 문자열에 의한 식별자를 통해 각각의 모듈은 서로 교차되고 상호 작용할 수 있다고 생각해야 한다.