반응형
연락처 양식 7 - php 실행 불가
워드프레스와 플러그인을 설치하였습니다.contact form 7
그 안에
내가 설치한 여러 페이지의 연락처 양식으로 만들기 위해Contact Form 7 Multi-Step Forms
뿐만 아니라.아직까지는 모든 것이 잘 됩니다.심지어 우편물도 발송됩니다.
문제는 이메일을 보내기 전에 PHP 코드를 실행하고 싶다는 것입니다.
플러그인이 실행할 수 있는 기능을 시도하기 위해 이 코드를 삽입했습니다.
function testfunc( $cf7 )
{
mysql_connect("localhost", "user_name", "password") or die(mysql_error());
mysql_select_db("db_name") or die(mysql_error());
mysql_query("CREATE TABLE `aaaaaaaaaaa` ( test VARCHAR(30))");
}
add_action( 'wpcf7_before_send_mail', 'testfunc', 1);
추가 php 파일에서 플러그인 외부에서 실행해도 기능이 잘 작동합니다.
플러그인에 삽입해도 기능이 작동하지 않는 이유를 알 수가 없습니다.
워드프레스의 데이터베이스를 전역적으로 사용하여 쿼리합니다.wpdb
이와 같은 물건
참조
function testfunc( $cf7 )
{
global $wpdb;
$wpdb->query("CREATE TABLE `aaaaaaaaaaa` ( test VARCHAR(30))");
}
add_action( 'wpcf7_before_send_mail', 'testfunc', 1);
word press create tabel은 연결을 위해 php 구조가 아닌 이 방법을 사용합니다.
생성을 위한 자세한 정보, wp를 위한 테이블 데이터 가져오기
function testfunc( $cf7 )
{
global $wpdb;
$table_name = $wpdb->prefix . 'tablename';
$sql = "CREATE TABLE IF NOT EXISTS ".$table_name."(
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
UNIQUE KEY id (id)
);";
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );
}
레이브 파텔의 경우 +1
매번 테이블을 만들기 전에 테이블이 존재하는지 확인하는 것만 권장합니다.
function testfunc( $cf7 )
{
global $wpdb;
$table_name = $wpdb->prefix . 'tablename';
if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {
$sql = "CREATE TABLE $table_name (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
UNIQUE KEY id (id)
)";
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );
}
}
언급URL : https://stackoverflow.com/questions/23488897/contact-form-7-cannot-run-php
반응형
'programing' 카테고리의 다른 글
MariaDB: 세미콜론으로 구분된 문자열을 분할하여 평균값 계산 (0) | 2023.09.18 |
---|---|
make (Linux)와 nmake (Windows)에 동일한 make 파일 사용 (0) | 2023.09.18 |
활성 시트.사용 범위.기둥.카운트 - 8 그게 무슨 뜻입니까? (0) | 2023.09.18 |
Android 소프트키보드가 보일 때 전체 화면 모드에서 레이아웃을 조정하는 방법 (0) | 2023.09.18 |
PowerShell을 사용하여 파일의 줄을 바꾸는 방법은 무엇입니까? (0) | 2023.09.18 |