使用 functions.php 中的函数创建一个 Wordpress 简码
Create a Wordpress Shortcode with functions in functions.php
我尝试创建的短代码应该 return 下面描述的 1 个匈牙利语单词,这应该每个月都会更改。当在页面或 post 中使用短代码时,代码已放入 functions.php 和 return 中。任何帮助将非常感激。当使用 echo honapnev($honap);
.
作为简单的 php 和 html 时,它确实有效
$honap = date("n");
function honapnev_shortcode( $ho ) {
if ($ho==1) {
return "Januári";
}
elseif ($ho==2) {
return "Februári";
}
elseif ($ho==3) {
return "Márciusi";
}
elseif ($ho==4) {
return "Áprilisi";
}
elseif ($ho==5) {
return "Májusi";
}
elseif ($ho==6) {
return "Júniusi";
}
elseif ($ho==7) {
return "Júliusi";
}
elseif ($ho==8) {
return "Augusztusi";
}
elseif ($ho==9) {
return "Szeptemberi";
}
elseif ($ho==10) {
return "Októberi";
}
elseif ($ho==11) {
return "Novemberi";
}
elseif ($ho==12) {
return "Decemberi";
}
}
add_shortcode( 'honapnev', 'honapnev_shortcode' );
当我删除行时 add_shortcode( 'honapnev', 'honapnev_shortcode' );
括号中的简码出现在页面上...
function honapnev_shortcode($atts)
{
switch (date("n"))
{
case 1:
{
$month="Januári";
break;
}
case 2:
{
$month="Februári";
break;
}
case 3:
{
$month="Márciusi";
break;
}
case 4:
{
$month="Áprilisi";
break;
}
case 5:
{
$month="Májusi";
break;
}
case 6:
{
$month="Júniusi";
break;
}
case 7:
{
$month="Júliusi";
break;
}
case 8:
{
$month="Augusztusi";
break;
}
case 9:
{
$month="Szeptemberi";
break;
}
case 10:
{
$month="Októberi";
break;
}
case 11:
{
$month="Novemberi";
break;
}
case 12:
{
$month="Decemberi";
break;
}
default:
{
$month="Januári";
break;
}
}
return $month;
}
add_shortcode('honapnev', 'honapnev_shortcode');
或
function honapnev_shortcode($atts)
{
$months=array("Januári", "Februári", "Márciusi", "Áprilisi", "Májusi","Júniusi", "Júliusi", "Augusztusi","Szeptemberi", "Októberi", "Novemberi", "Decemberi");
return $months[date("n")-1];
}
add_shortcode('honapnev', 'honapnev_shortcode');
你需要先解析你的函数中的shortcode属性,另外,elseif或switch语句可以替换为一个short function。
function honapnev_shortcode($atts)
{
/**
* Get the shortcode attributes default value = 1
*/
$atts = shortcode_atts(array(
'ho' => 1,
), $atts, 'honapnev');
$ho = intval($atts['ho']);
/**
* Is better use an Array in this case
*/
$words = ['Januári', 'Februári', 'Márciusi', 'Áprilisi', 'Májusi', 'Júniusi', 'Júliusi', 'Augusztusi', 'Szeptemberi', 'Októberi', 'Novemberi', 'Decemberi'];
return $words[$ho - 1];
}
add_shortcode('honapnev', 'honapnev_shortcode');
简码
[honapnev]
[honapnev ho="1"]
[honapnev ho="6"]
[honapnev ho="12"]
我尝试创建的短代码应该 return 下面描述的 1 个匈牙利语单词,这应该每个月都会更改。当在页面或 post 中使用短代码时,代码已放入 functions.php 和 return 中。任何帮助将非常感激。当使用 echo honapnev($honap);
.
$honap = date("n");
function honapnev_shortcode( $ho ) {
if ($ho==1) {
return "Januári";
}
elseif ($ho==2) {
return "Februári";
}
elseif ($ho==3) {
return "Márciusi";
}
elseif ($ho==4) {
return "Áprilisi";
}
elseif ($ho==5) {
return "Májusi";
}
elseif ($ho==6) {
return "Júniusi";
}
elseif ($ho==7) {
return "Júliusi";
}
elseif ($ho==8) {
return "Augusztusi";
}
elseif ($ho==9) {
return "Szeptemberi";
}
elseif ($ho==10) {
return "Októberi";
}
elseif ($ho==11) {
return "Novemberi";
}
elseif ($ho==12) {
return "Decemberi";
}
}
add_shortcode( 'honapnev', 'honapnev_shortcode' );
当我删除行时 add_shortcode( 'honapnev', 'honapnev_shortcode' );
括号中的简码出现在页面上...
function honapnev_shortcode($atts)
{
switch (date("n"))
{
case 1:
{
$month="Januári";
break;
}
case 2:
{
$month="Februári";
break;
}
case 3:
{
$month="Márciusi";
break;
}
case 4:
{
$month="Áprilisi";
break;
}
case 5:
{
$month="Májusi";
break;
}
case 6:
{
$month="Júniusi";
break;
}
case 7:
{
$month="Júliusi";
break;
}
case 8:
{
$month="Augusztusi";
break;
}
case 9:
{
$month="Szeptemberi";
break;
}
case 10:
{
$month="Októberi";
break;
}
case 11:
{
$month="Novemberi";
break;
}
case 12:
{
$month="Decemberi";
break;
}
default:
{
$month="Januári";
break;
}
}
return $month;
}
add_shortcode('honapnev', 'honapnev_shortcode');
或
function honapnev_shortcode($atts)
{
$months=array("Januári", "Februári", "Márciusi", "Áprilisi", "Májusi","Júniusi", "Júliusi", "Augusztusi","Szeptemberi", "Októberi", "Novemberi", "Decemberi");
return $months[date("n")-1];
}
add_shortcode('honapnev', 'honapnev_shortcode');
你需要先解析你的函数中的shortcode属性,另外,elseif或switch语句可以替换为一个short function。
function honapnev_shortcode($atts)
{
/**
* Get the shortcode attributes default value = 1
*/
$atts = shortcode_atts(array(
'ho' => 1,
), $atts, 'honapnev');
$ho = intval($atts['ho']);
/**
* Is better use an Array in this case
*/
$words = ['Januári', 'Februári', 'Márciusi', 'Áprilisi', 'Májusi', 'Júniusi', 'Júliusi', 'Augusztusi', 'Szeptemberi', 'Októberi', 'Novemberi', 'Decemberi'];
return $words[$ho - 1];
}
add_shortcode('honapnev', 'honapnev_shortcode');
简码
[honapnev]
[honapnev ho="1"]
[honapnev ho="6"]
[honapnev ho="12"]