こんにちは、私は WordPress 初心者ですので、ご容赦ください。したがって、template.php では、関数のmeta_form()
機能をいくつかの条件に基づいて変更する必要があります。外観は次のとおりです。
元のコード:
function meta_form() {
global $wpdb;
$limit = (int) apply_filters( 'postmeta_form_limit', 30 );
$keys = $wpdb->get_col( "
SELECT meta_key
FROM $wpdb->postmeta
GROUP BY meta_key
HAVING meta_key NOT LIKE '\_%'
ORDER BY meta_key
LIMIT $limit" );
if ( $keys )
natcasesort($keys);
?>
カスタマイズされたバージョン:
function meta_form() {
global $wpdb;
if ( isset($_GET['post']) )
$post_id = (int) $_GET['post'];
elseif ( isset($_POST['post_ID']) )
$post_id = (int) $_POST['post_ID'];
else
$post_id = 0;
if ( $post_id ) {
$post_ = get_post($post_id);
}
if ($post_->post_type == 'video_photo' ){
$limit = (int) apply_filters( 'postmeta_form_limit', 30 );
$keys = $wpdb->get_col( "
SELECT meta_key
FROM $wpdb->postmeta
where meta_key like 'tqmcf_%'
GROUP BY meta_key
HAVING meta_key NOT LIKE '\_%'
ORDER BY meta_key
LIMIT $limit" );
}else{
$limit = (int) apply_filters( 'postmeta_form_limit', 30 );
$keys = $wpdb->get_col( "
SELECT meta_key
FROM $wpdb->postmeta
GROUP BY meta_key
HAVING meta_key NOT LIKE '\_%'
ORDER BY meta_key
LIMIT $limit" );
}
if ( $keys )
natcasesort($keys);
?>
meta_form
関数を上書きする最良の方法は何ですか? プラグインなどを作成する必要がありますか? 私はきれいな答えを見つけることができないようです。(ps このコードは私が書いたのではなく、私が修正しただけです)。