Plugins ou Tutoriais para exibir dados do SQL-db na página WP? [fechadas]

4

Eu tenho uma estação meteorológica personalizada em um Raspberry Pi 3 com uma instalação local do LAMP em execução. O sensordata é armazenado em seu próprio banco de dados. O trabalho para o Wordpress é apenas para ter uma possibilidade fácil (um pouco) de WYSIWYG de editar o design da página de exibição que é mostrada em um Pi secundário usando um navegador de tela cheia.

Agora preciso de três funções "exclusivas" que não consegui encontrar uma solução adequada para:

  1. Shortcodes para a entrada de dados mais recente (em tempo real) do banco de dados (como temperatura, umidade, velocidade do vento, chuva, etc.) para torná-lo fácil de alterar a colocação real do banco de dados. dados dentro da página.

  2. Eu preciso de um back-end de administrador (plugin, adminpanelentry, whatever) para escolher os dados mais recentes do banco de dados ou inserir um valor fixo no caso de erros de sensor ou outras ocasiões que possam precisar. Seria bom ter: Salvar as entradas manuais no banco de dados e ter um menu suspenso para escolher dentre elas. Nada extravagante, algo como enlace

  3. uma maneira "fácil" de adicionar novos valores de dados (se um novo sensor for adicionado)

A aquisição de dados é feita com a escrita Python no banco de dados. Seria mais fácil deixar o Python gravar os dados no Wordpress-DB diretamente em sua própria tabela? Embora talvez já exista um software no caso de plugins que fazem o que eu preciso?

Obrigado!

    
por Phish 27.03.2017 / 12:21

1 resposta

1

Esta é uma pergunta muito vaga e ampla, mas vou tentar. Você pode adicionar o seguinte código em um plug-in de funcionalidade ou, se estiver executando um tema, colocá-lo no arquivo functions.php do seu tema. (Obviamente você terá que mudar o SQL, atributos, etc - apenas uma prova de conceito)

add_shortcode( 'wpse_weather_data', 'wpse_weather_data_shortcode_cb' );
function wpse_weather_data_shortcode_cb( $atts ) {
    $atts = shortcode_atts( array(
        'fallbackValue' => '',
        'sensor' => 0
     ), $atts );

     extract( $atts );

     // Make the connection to a separate database using PHP. 
     // You might want to store these credentials as constants in wp-config.php 
     // to keep all the db credentials in one place.
     $db = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
     if ( !$db ) {
         return $fallbackValue;
     }

     // Make the query
     $query = "SELECT * FROM table_name WHERE sensor = {$sensor}";
     $result = mysqli_query($db, $query);
     if ( !$result ) {
         return $fallbackValue;
     }

     $row = mysqli_fetch_array($result);
     // Put the data on the page... FYI you have to return the data from a shortcode, not echo it.
}

Criar uma página de opções, armazenar valores passados em um banco de dados, etc. está muito além do escopo deste fórum, mas isso daria a você uma maneira de começar. Você pode personalizá-lo (por # 3) adicionando atributos diferentes ao shortcode. Por exemplo, aqui você pode adicionar sensores adicionais e especificar um valor de fallback colocando o shortcode em algum lugar no conteúdo e chamando assim: [wpse_weather_data sensor="0" fallbackValue="Could not fetch sensor data"]

Espero que isso o direcione na direção certa.

    
por brianjohnhanna 28.03.2017 / 22:27