为什么我不能从管理员视图更新帖子元?

时间:2018-11-20 20:24:59

标签: php mysql wordpress p2p

我正在尝试以编程方式在我的wordpress网站中生成数据。我将WPAlchemy用于我的元框,并将post-to-posts插件用于后对后关系。

在我的生成功能中,我正在生成一个名为“歌曲”的自定义帖子类型,以将所有帖子都连接到一个称为“艺术家”的帖子类型的特定帖子。我正在使用p2p_type('songs_to_artist')->connect($song_id, $artist_id, ['date' => current_time ('mysql')])为生成的每首歌曲连接两个帖子。我的问题是,运行此功能后,无法再从后端编辑帖子视图中的元框更新艺术家元数据。

我为自己做了一些挖掘,发现了一些结果:

  1. 如果我在不运行函数末尾建立连接的情况下运行该函数,则一切正常。
  2. 所有生成的歌曲 do 都与他们的艺术家建立了联系,尽管我遇到了艺术家的元数据无法更新的问题。
  3. 可以使用功能update_post_meta()或直接在数据库中更新元数据。
  4. 所描述的元数据不更新的影响发生在创建与该特定艺术家的第937个'songs_to_artist'连接之后。
  5. 在此过程中不会引发任何错误。

还有其他人遇到吗?我找不到任何其他人描述这种行为。

非常感谢您!

1 个答案:

答案 0 :(得分:0)

问题是当建立太多连接时,在编辑页面上渲染的数据太多,从而由于网站从所有连接数据中减慢了速度,因此无法保存postmeta。以下是一个简单的解决方法:

config: 
  topology.workers: 2
  topology.message.timeout.secs: 300
  topology.max.spout.pending: 100
  topology.debug: false
  fetcher.server.delay: .25
  fetcher.threads.number: 200
  fetcher.threads.per.queue: 5

  worker.heap.memory.mb: 2048

  topology.kryo.register:
    - com.digitalpebble.stormcrawler.Metadata

  http.content.limit: -1
  fetchInterval.default: 1440
  fetchInterval.fetch.error: 120
  fetchInterval.error: -1
  topology.metrics.consumer.register:
     - class: "org.apache.storm.metric.LoggingMetricsConsumer"
       parallelism.hint: 1

这从管理员编辑视图中删除了该特定卡,从而极大地加快了工作速度,并消除了我所描述的问题。