我正在为网站使用解码主题。它有一个核心自定义帖子类型,名为' portfolio'。
我需要为此CPT添加一个选项,以便它与常规帖子共享标记。
我在主题核心中找到了CPT注册的文件并添加了以下内容并且有效:
import sys, time, threading
from PyQt4 import QtCore, QtGui
class Worker(object):
def __init__(self, callback):
self._callback = callback
self._thread = None
def active(self):
return self._thread is not None and self._thread.is_alive()
def start(self):
self._thread = threading.Thread(target=self.work, name='Worker')
self._thread.start()
def work(self):
print('work: [%s]' % threading.current_thread().name)
for x in range(5):
time.sleep(1)
self._callback(str(x))
class Window(QtGui.QPushButton):
dataReceived = QtCore.pyqtSignal(str)
def __init__(self):
super(Window, self).__init__('Start')
self.clicked.connect(self.start)
self.dataReceived.connect(self.receive)
self.worker = Worker(self.callback)
def receive(self, data):
print('received: %s [%s]' % (data, threading.current_thread().name))
def callback(self, data):
print('callback: %s [%s]' % (data, threading.current_thread().name))
self.dataReceived.emit(data)
def start(self):
if self.worker.active():
print('still active...')
else:
print('start: [%s]' % threading.current_thread().name)
self.worker.start()
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window = Window()
window.show()
print('show: [%s]' % threading.current_thread().name)
sys.exit(app.exec_())
然而,由于编辑核心文件是一个很大的不可,我想知道是否有办法通过我自己的函数文件这样做,所以它是未来证明?
答案 0 :(得分:0)
编辑:很明显我误解了!
看起来register_taxonomy_for_object_type( 'post_tag', 'portfolio' );
就是您追随的目标。
register_taxonomy_for_object_type()
将已注册的分类标准添加到已注册的帖子类型。
register_post_type
原始答案:
来自WP Codex:
register_post_type()
创建 或修改 帖子类型。只应通过
'init'
操作调用'init'
。如果在function igloobob_portfolio_cpt_mod() { register_post_type('portfolio', $args); } add_action('init', 'igloobob_portfolio_cpt_mod', 999);
之前调用它将无法工作,如果稍后调用,新创建或修改的帖子类型的方面将无法正常工作。
(addtl.empress mine)
在这种情况下,您可以创建一个函数
$args
其中register_post_type
基本上与999
的解码主题的参数重复,除了您的修改。 ffffff
优先级arg是确保在父主题已经注册了帖子类型后执行它。