我有带Fishpig_Wordpress模块​​的Magento。
我为帖子创建了一些新的postmeta数据,保存在postmeta表中。
我刚刚看到Fishpig在/Model/Mysql4/Post.php中具有自定义的加载SQL方法。

protected function _getLoadSelect($field, $value, $object)
{
    $select = $this->_getReadAdapter()->select()
        ->from(array('e' => $this->getMainTable()))
        ->where("e.{$field}=?", $value);

    if (Mage::getDesign()->getArea() == 'frontend') {
        if (Mage::helper('wordpress/plugin_allInOneSeo')->isEnabled()) {
            foreach(Mage::helper('wordpress/plugin_allInOneSeo')->getMetaFields() as $field) {
                $table = 'aioseop_'.$field;
                $select->joinLeft(
                    array($table => Mage::helper('wordpress/db')->getTableName('postmeta')),
                    "{$table}.post_id = e.ID AND ".$this->_getReadAdapter()->quoteInto("{$table}.meta_key=?", "_aioseop_{$field}"),
                    array('meta_'.$field => 'meta_value')
                );
            }
        }
    }

    $select->limit(1);

    return $select;
}


该方法在joinLeft方法中使用Mage :: helper('wordpress / db')-> getTableName('postmeta')。但是我不知道应该使用_getLoadSelect受保护的方法还是创建另一个类来调用postmeta表。

因此,问题是:
是否可以通过Fishpix模块从postmeta表获取数据,或者我需要为此创建一个新类?

最佳答案

对于现在阅读此内容的任何人,您都可以使用以下代码检索postmeta值:

<?php echo $post->getMetaValue('your_meta_key') ?>


相同的方法可用于具有元表(帖子,页面,评论,用户等)的任何WordPress实体

08-07 11:54