WordPress 페이지 및 게시물에 PHP 코드 삽입
PHP를 사용하여 방문국가를 알고 WordPress 페이지에 표시하고 싶습니다.그러나 WordPress 페이지에 PHP 코드를 추가하거나 게시할 때 오류가 발생합니다.
WordPress 페이지와 게시물에 PHP 코드를 추가하려면 어떻게 해야 합니까?
<?PHP
try
{
function visitor_country()
{
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
$result = "Unknown";
if(filter_var($client, FILTER_VALIDATE_IP))
{
$ip = $client;
}
elseif(filter_var($forward, FILTER_VALIDATE_IP))
{
$ip = $forward;
}
else
{
$ip = $remote;
}
$ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=" . $ip));
if($ip_data && $ip_data->geoplugin_countryName != null)
{
$result = array('ip' => $ip,
'continentCode' => $ip_data->geoplugin_continentCode,
'countryCode' => $ip_data->geoplugin_countryCode,
'countryName' => $ip_data->geoplugin_countryName,
);
}
return $result;
}
$visitor_details = visitor_country(); // Output Country name [Ex: United States]
$country = $visitor_details['countryName'];
WordPress는 쇼트 코드가 없는 한 기본적으로 포스트/페이지 콘텐츠에서 PHP를 실행하지 않습니다.
가장 빠르고 쉬운 방법은 PHP를 포스트 콘텐츠에 삽입하여 실행할 수 있는 플러그인을 사용하는 것입니다.
플러그인 없이 이를 실현하는 다른 두 가지 "빠르고 쉬운" 방법이 있습니다.
쇼트 코드(입력)로 합니다.
functions.php
국가명을 그대로 반영하도록 하는 것은 매우 간단합니다.여기를 참조해 주세요.WP Codex의 쇼트코드 API템플릿 파일에 저장 - 기본 페이지 템플릿을 기반으로 해당 페이지의 커스텀 템플릿을 만들고 PHP를 게시 내용이 아닌 템플릿 파일에 추가합니다.커스텀 페이지 템플릿
WordPress 백엔드 페이지 편집기에서 PHP를 사용할 수 없습니다.플러그인이 있으면 바로 사용할 수 있지만, 바로 사용할 수 없습니다.
이를 위한 가장 쉬운 해결책은 쇼트 코드를 만드는 것입니다.그럼 이런 걸 쓰면 되겠네요.
function input_func( $atts ) {
extract( shortcode_atts( array(
'type' => 'text',
'name' => '',
), $atts ) );
return '<input name="' . $name . '" id="' . $name . '" value="' . (isset($_GET\['from'\]) && $_GET\['from'\] ? $_GET\['from'\] : '') . '" type="' . $type . '" />';
}
add_shortcode( 'input', 'input_func' );
설명:
PHP 코드를 post 또는 page 내에서 실행하는 절차는 3가지입니다.
인
functions.php
파일(테마에서) 새 기능 추가인
functions.php
file (테마에서) 함수를 호출하는 새로운 쇼트 코드를 등록합니다.
add_shortcode( 'SHORCODE_NAME', 'FUNCTION_NAME' );
- 새로운 쇼트 코드를 사용하다
예 1: 텍스트만 표시합니다.
기능:
function simple_function_1() {
return "Hello World!";
}
add_shortcode( 'own_shortcode1', 'simple_function_1' );
투고/페이지 내:
[own_shortcode1]
효과:
Hello World!
예 2: 루프에 사용합니다.
기능:
function simple_function_2() {
$output = "";
for ($number = 1; $number < 10; $number++) {
// Append numbers to the string
$output .= "$number<br>";
}
return "$output";
}
add_shortcode( 'own_shortcode2', 'simple_function_2' );
투고/페이지 내:
[own_shortcode2]
효과:
1
2
3
4
5
6
7
8
9
예 3: 인수와 함께 쇼트 코드 사용
기능:
function simple_function_3($name) {
return "Hello $name";
}
add_shortcode( 'own_shortcode3', 'simple_function_3' );
투고/페이지 내:
[own_shortcode3 name="John"]
효과:
Hello John
예 3 - 인수 전달 없음
투고/페이지 내:
[own_shortcode3]
효과:
Hello
제가 비슷한 일을 하려고 했을 때, 저는 결국 다음과 같은 일을 하게 되었습니다.
wp-content/syslog/syslogs/syslogs.php
add_action('init', 'my_php_function');
function my_php_function() {
if (stripos($_SERVER['REQUEST_URI'], 'page-with-custom-php') !== false) {
// add desired php code here
}
}
언급URL : https://stackoverflow.com/questions/18896146/insert-php-code-in-wordpress-page-and-post
'programing' 카테고리의 다른 글
Oracle에서 CLOB 열을 쿼리하는 방법 (0) | 2023.03.16 |
---|---|
응용 프로그램/x-www-form-urlencoded를 사용한 POST 요청 (0) | 2023.03.16 |
동적 키를 사용하여 개체의 인터페이스를 정의하려면 어떻게 해야 합니까? (0) | 2023.03.16 |
AngularJs ng클릭으로 다른 페이지로 이동(Ionic 프레임워크 사용) (0) | 2023.03.16 |
웹 팩 빌드 vs 리액트 스크립트 빌드 (0) | 2023.03.16 |